【发布时间】:2019-12-04 09:48:24
【问题描述】:
以下 json 表示 Cosmos DB 容器中的两个文档。
如何编写一个查询来获取具有item 的任何文档,其中id 为item_1,值为bar。
我已经研究了ARRAY_CONTAINS,但不要让它与数组中的数组一起使用。
我也尝试过any。虽然我似乎找不到任何关于如何使用它的文档,但any 似乎是一个有效的函数,因为我在 Azure 门户的 cosmos db 资源管理器中得到了formatting highlights。
对于any 函数,我尝试了SELECT * FROM c WHERE c.pages.any(p, p.items.any(i, i.id = "item_1" AND i.value = "bar")) 之类的方法。
id 字段是唯一的,因此如果更容易找到包含具有正确 id 和值的任何对象的任何文档,那也很好。
[
{
"type": "form",
"id": "form_a",
"pages": [
{
"name": "Page 1",
"id": "page_1",
"items": [
{
"id": "item_1",
"value": "foo"
}
]
}
]
},
{
"type": "form",
"id": "form_b",
"pages": [
{
"name": "Page 1",
"id": "page_1",
"items": [
{
"id": "item_1",
"value": "bar"
}
]
}
]
}
]
【问题讨论】:
标签: azure-cosmosdb