我是Cosmos DB的新手。我正在使用SQL API检索记录。现在我想在ARRAY_CONTAINS中添加“不在”。我做了很多相同的研发工作,但找不到任何解决方案。
答案 0 :(得分:0)
您不能在ARRAY_CONTAINS中添加“不在”。 Cosmos DB中没有这样的语法。
如果要检索不包含某些值的记录。您可以使用NOT EXISTS
。对于下面的示例
SELECT food.id,
food.description,
food.tags,
food.foodGroup
FROM food
WHERE NOT EXISTS(SELECT VALUE t FROM t IN food.tags WHERE t.name = 'orange')
以上查询将在标签中没有“橙色”的情况下检索所有食品记录。以下是上述查询结果的示例。
{
"id": "19015",
"description": "Snacks, granola bars, hard, plain",
"tags": [
{
"name": "snacks"
},
{
"name": "granola bars"
},
{
"name": "hard"
},
{
"name": "plain"
}
],
"foodGroup": "Snacks"
}
您可以转到Cosmos DB的Query Playground来学习和练习Cosmos DB查询。
答案 1 :(得分:0)
这将查找属性 resolutions(这是一个数组)不包含值“600”的所有项目。
SELECT VALUE root FROM root WHERE (NOT ARRAY_CONTAINS(root["resolutions"], 600))