N1ql - > IN运算符不适用于其他条件

Pra*_*dhi 6 node.js couchbase sql++

当仅使用IN运算符时,以下查询正常工作
SELECT META().id FROM bucket_name WHERE description IN ['Item1','Item2']

但是,当我触发此查询时,它会给我一个空白的结果
SELECT META().id FROM bucket_name WHERE id = 123 AND description IN ['Item1','Item2']

我做错了什么或其他人遇到过同样的问题?

use*_*575 7

我认为你必须把你的"IN"条件放入括号中才能使它工作:

SELECT META().id FROM bucket_name WHERE id = 123 AND (description IN ['Item1','Item2'])
Run Code Online (Sandbox Code Playgroud)

它与N1QL处理器对运算符评估优先级有关

如果您使用EXPLAIN关键字运行它,它将显示它如何将条件相互关联.

例如

explain SELECT META().id FROM bucket_name WHERE id = 123 AND (description IN ['Item1','Item2'])
Run Code Online (Sandbox Code Playgroud)

VS

explain SELECT META().id FROM bucket_name WHERE id = 123 AND description IN ['Item1','Item2']
Run Code Online (Sandbox Code Playgroud)