Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
DocumentDB SQL检查数组中的多个值_Sql_Azure_Azure Cosmosdb - Fatal编程技术网

DocumentDB SQL检查数组中的多个值

DocumentDB SQL检查数组中的多个值,sql,azure,azure-cosmosdb,Sql,Azure,Azure Cosmosdb,我正在使用Azure的DocumentDB作为我的数据库。我可能有数千个文档,希望返回包含特定标记的所有文档 例如: 文件1 { "id": "328732, "name": "jeff", "tags": [ "A", "B", "C" ] } 文件2 { "id": "54092, "name": "ayla", "tags": [ "B", "D", "F" ] } 文件3 { "id": "98234

我正在使用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\u CONTAINS
和几个
操作符来实现这一点:

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

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

我知道没有其他方法可以实现你想要的。您可以编写代码,将自动扩展到一系列包含
数组。

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