在Couchbase或N1QL中,如何检查数组中的值是否匹配

时间:2015-03-04 18:16:01

标签: views couchbase n1ql

在沙发基地,我有以下文件结构......

{
    name: "bob",
    permissions: [
        2,
        4,
        6
    ]
}

我需要能够创建一个视图或N1QL查询,它将检查" bob"的权限。包含在给定的数组中。

例如我有一个包含内容的数组

[1,2,3,4,5,6]

我需要" bob"要返回的文档,因为我的数组包含2,4,6,所以" bob"

如果我的阵列包含1,3,4,5,6" bob"应该,因为我的数组不包含" 2"

基本上我想匹配其权限条目都包含在我的数组中的任何文档。

解决方案可以是视图或N1QL查询。

1 个答案:

答案 0 :(得分:7)

使用N1QL,您可以执行以下操作:

SELECT * FROM my_bucket WHERE EVERY p IN permissions SATISFIES p IN [ 1,2,3,4,5,6 ] END;