Couchbase按字段不在索引中过滤

时间:2019-03-08 09:10:45

标签: couchbase n1ql

我创建了此索引:

CREATE INDEX `idx_orders` ON 
`order`(
distinct(
 ARRAY (s.dateTime) FOR s IN additionalStatus 
WHEN ((s.statusTypeCode = 'LOGISTICAL') AND (s.statusCode = 'CANCELLED' OR s.statusCode = 'TREATED')) END 
)
)

当我执行此查询时:

SELECT META(`order`).id FROM `order`
where ANY s in additionalStatus SATISFIES ( s.dateTime < 297798785) AND ((s.statusTypeCode = 'LOGISTICAL') AND (s.statusCode = 'CANCELLED' OR s.statusCode = 'TREATED'))  END

没有索引被击中,我得到这个错误:

  

键空间顺序上没有与您的查询匹配的索引。采用   CREATE INDEX或CREATE PRIMARY INDEX以创建索引,或检查   您预期的索引是在线的

但是当我添加where子句和orderCategory!='CA1'时,我会得到结果

我认为我的索引(具有相同名称)的某些旧版本包含orderCategory字段仍然存在,即使删除索引并重新创建它也不会被删除。

0 个答案:

没有答案