Я пытаюсь спроецировать одно поле в документе. Я попробовал пару подходов - один из них упоминается здесь в этом Spring data Couchbase doc , а другой упоминается в этом вопросе
Все это возвращает одно и то же исключение
org.springframework.data.couchbase.core.CouchbaseQueryExecutionException:
Unable to execute query due to the following n1ql errors: {"msg":"Ambiguous reference to field _class.","code":3000}
at org.springframework.data.couchbase.core.CouchbaseTemplate.findByN1QL(CouchbaseTemplate.java:458) ~[spring-data-couchbase-3.0.6.RELEASE.jar:3.0.6.RELEASE]
Ниже приведен запрос, который я использую, и он работает, как и ожидалось, на Query workbench
public interface ProjectRespository extends CouchbasePagingAndSortingRepository<Project, String> {
@Query("SELECT DISTINCT projectId where #{#n1ql.filter} AND serverTech = $1")
List<ProjectIdDTO> findByServerTech(@Param("serverTech") String serverTech);
ProjectIdDTO
- это DTO, которое я специально определил, чтобы вернуть список ProjectId. Не уверен, что мне здесь не хватает.