我需要在 CosmosDB 查询编辑器中编写一个 SQL 查询,该查询将从存储在 Collection 中的 JSON 文档中获取结果,如下所示
示例 JSON
{
"id": "abcdabcd-1234-1234-1234-abcdabcdabcd",
"source": "Example",
"data": [
{
"Laptop": {
"New": "yes",
"Used": "no",
"backlight": "yes",
"warranty": "yes"
}
},
{
"Mobile": [
{
"order": 1,
"quantity": 2,
"price": 350,
"color": "Black",
"date": "07202019"
},
{
"order": 2,
"quantity": 1,
"price": 600,
"color": "White",
"date": "07202019"
}
]
},
{
"Accessories": [
{
"covers": "yes",
"cables": "few"
}
]
}
]
}
要求:选择特定“日期”的“保修”(笔记本电脑)、“数量”(手机)、“颜色”(手机)、“电缆”(附件)(例如:07202019)
我尝试了以下查询
SELECT
c.data[0].Laptop.warranty,
c.data[1].Mobile[0].quantity,
c.data[1].Mobile[0].color,
c.data[2].Accessories[0].cables
FROM c
WHERE ARRAY_CONTAINS(c.data[1].Mobile, {date : '07202019'}, true)
上述查询的原始输出:
[
{
"warranty": "yes",
"quantity": 2,
"color": "Black",
"cables": "few"
}
]
但是我怎样才能得到这个预期的输出,它在数组“移动”中包含所有订单详细信息:
[
{
"warranty": "yes",
"quantity": 2,
"color": "Black",
"cables": "few"
},
{
"warranty": "yes",
"quantity": 1,
"color": "White",
"cables": "few"
}
]
由于我编写了硬编码的 c.data[1].Mobile[0].quantity 即“Mobile[0]”,因此输出中只返回一个条目(即第一个条目),但我想拥有所有要列出的数组中的条目