我有以下表格的文件需要查询:
{
"id": "-KWiJ1LlYbXSSRUmocwK",
"ownerID": "72f16d9d-b905-498c-a7ff-9702cdcae996",
"orgID": "20071513",
"teams": [
"5818f7a75f84c800079186a8",
"5818cbb25f84c800079186a7"
]
}
我希望能够基于ownerID和teams数组进行查询 . 我的查询目前看起来像这样:
SELECT id FROM
default AS p
WHERE p.ownerID = $1
OR ARRAY_CONTAINS(p.teams, $2)
ORDER BY id
因此,我可以获取具有预期ownerID的文档以及在teams数组中具有特定团队ID的文档 . 这个查询确实有效,但是当我有很多文档时,我很关心性能,可能一些文档最多可以分配20个团队 .
我是在正确的轨道上吗?
编辑:Couchbase ver 4.1
1 回答
Couchbase 4.5引入了数组索引 . 这允许您索引数组的各个元素,在您的情况下是teams数组 . 这对于查询的性能至关重要 . 使用4.5.1或4.6,您将执行以下操作: