在 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;
在 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;