Spring Data&Couchbase-查找没有特定字段的文档

时间:2018-10-17 05:55:24

标签: spring-boot spring-data couchbase n1ql

在我的Spring Boot应用程序中,我有一个基于文档存储的存储桶。

我使用扩展了<router-view>的接口对存储桶进行了挖矿。

我正在尝试创建一个查询,该查询选择没有特定字段的所有文档。

因此,假设我们有这些文档,并且希望找到没有“颜色”的文档:

CouchbasePagingAndSortingRepository

我尝试在界面中创建几种方法:

{
 "type":"Cat"
 "name":"Oscar",
 "color":"red"
}

{
 "type":"Cat"
 "name":"Polly"
}

但是它们全部返回空列表,而不返回预期的文档。

1 个答案:

答案 0 :(得分:1)

问题在于此字段根本不在您的文档中,因此正确的方法是使用 MISSING 关键字: https://docs.couchbase.com/server/5.5/n1ql/n1ql-language-reference/comparisonops.html

@Query("#{#n1ql.selectEntity} where #{#n1ql.filter} and companyId = $1 and (yourAtrribute IS NULL OR yourAtrribute IS MISSING )")
List<Checklist> listCheckCompanyId(String companyId);