N1ql-> IN运算符不适用于其他条件 [英] N1ql -> IN operator does not work with other conditions

查看:88
本文介绍了N1ql-> IN运算符不适用于其他条件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

仅使用IN运算符时,以下查询可以正常工作

SELECT META()。id FROM bucket_name WHERE description IN ['Item1','Item2']

The following query works just fine when only IN operator is used
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']

But when I fire this query it gives me a blank result
SELECT META().id FROM bucket_name WHERE id = 123 AND description IN ['Item1','Item2']

我做错了什么吗?遇到相同的问题?

Am I doing something wrong or somebody else has faced the same problem?

推荐答案

我认为您必须将 IN条件放在括号中才能起作用:

I think you have to take your "IN" condition into parenthesis to make it work:

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

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

如果使用< href = http://docs.couchbase.com/couchbase-query-language-0.1/#explain rel = noreferrer> EXPLAIN 关键字,它将显示它如何相互链接条件。

If you run it with EXPLAIN keyword it will show how it links conditions against each other.

例如

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

vs

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

这篇关于N1ql-&gt; IN运算符不适用于其他条件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆