gpt4 book ai didi

sql - DocumentDB SQL 检查数组中的多个值

转载 作者:行者123 更新时间:2023-12-02 07:48:46 25 4
gpt4 key购买 nike

我使用 Azure 的 DocumentDB 作为我的数据库。我可能有数千个文档,并且想要返回包含特定标签的所有文档。

例如:

文档 1

{
"id": "328732,
"name": "jeff",
"tags": [
"A",
"B",
"C"
]
}

文档 2

{
"id": "54092,
"name": "ayla",
"tags": [
"B",
"D",
"F"
]
}

文档 3

{
"id": "98234,
"name": "lara",
"tags": [
"B",
"G",
"H"
]
}

如果我有一个标签列表["A", "F", "X"],则应返回前两个文档(jeff 和 ayla)。我可以通过使用内置函数 ARRAY_CONTAINS 和多个 OR 运算符来实现此目的:

SELECT * 
FROM c
WHERE ARRAY_CONTAINS(c.groups, "A") OR
WHERE ARRAY_CONTAINS(c.groups, "F") OR
WHERE ARRAY_CONTAINS(c.groups, "X")

我想知道是否有更好的方法来实现这一目标。如果我有数百个标签,我将需要数百个条件。

最佳答案

我知道没有其他方法可以实现你想要的。您可以编写使用 OR 自动扩展为一系列 ARRAY_CONTAINS 的代码。

关于sql - DocumentDB SQL 检查数组中的多个值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46173425/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com