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

In Couchbase or N1QL how can I check if the values in an array match

在 couchbase 中,我有以下文档结构...

{
    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 查询。

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

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