couchbase - 这个 couchbase 索引有什么问题?

标签 couchbase n1ql

我创建了这个 couchbase 索引

CREATE INDEX `idx_additionalOrderCode` ON 
`order`(ALL ARRAY s.`value` FOR s IN additionalOrderCode WHEN s.`typeCode`= "MYCODE" END)
WHERE _class = "com.entrprise.OrderEntity" 

基于本页中的示例

https://docs.couchbase.com/server/6.0/n1ql/n1ql-language-reference/indexing-arrays.html

但是当我用这个选择查询查询这个索引时:

SELECT * FROM `order` 
WHERE `_class` = "com.entrprise.OrderEntity" 
AND ANY s IN additionalOrderCode SATISFIES ( s.`value` = "130047777" ) and (s.typeCode = "MYCODE" ) END

我得到了错误

 "msg": "No index available on keyspace order that matches your query. Use CREATE INDEX or CREATE PRIMARY INDEX to create an index, or check that your expected index is online."

没有主索引支持查询,我希望我的所有查询都由二级索引支持。

我使用的是 Enterprise Edition 6.0.0 build 1693

谢谢你的帮助

最佳答案

用这个索引解决了(我只删除了distinct和array之间的ALL)

CREATE INDEX `idx_additionalOrderCode` ON `order`
 (distinct (array (aoc.`value`) for `aoc` in `additionalOrderCode` WHEN aoc.`typeCode`= "WLEC"  END), orderTypeCode)
 WHERE (`_class` = "com.entreprise.OrderEntity")

关于couchbase - 这个 couchbase 索引有什么问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55053370/

相关文章:

sql - N1QL/Couchbase - 显示每天产生的所有事件,其中不知道表格中可能有多少不同的日子

json - n1ql 查询更新 json 数据数组中的多个参数

php - 建议的解决方案 : Generate unique IDs in a distributed environment

java - 从 Couchbase 存储桶中获取所有文件

elasticsearch - Couchbase XDCR Elasticsearch速度和删除

json - N1QL - 在 CouchBase 中查询多级嵌套的 JSON 数据

indexing - n1ql 中的 Order By 索引

Couchbase:根据条件同步数据

couchbase - 如何删除 couchbase 中没有子文档的文档?