【发布时间】:2021-02-17 18:15:28
【问题描述】:
我想从存储在 CosmosDb 中的文档内的嵌套数组中提取特定的数据。这与我当前过度获取的数据超出报告所需数据的报告用例有关。
我正在使用来自 https://www.documentdb.com/sql/demo 的操场上的示例文档来说明我正在尝试做的事情的示例。结构如下:
{
"id": "03226",
"description": "Babyfood, dessert, fruit pudding, orange, strained",
"version": 1,
"foodGroup": "Baby Foods",
"servings": [{
"amount": 1,
"description": "oz",
"weightInGrams": 28.35
}, {
"amount": 1,
"description": "jar",
"weightInGrams": 113
}
],
}
假设我想获取根 id 属性和服务对象的“描述”属性,我想要的输出是这样的:
{
"id": "03226",
"servings": [{
"description": "oz"
}, {
"description": "jar"
}
]
}
这是我按照自己的意愿塑造结果的收盘价。
SELECT
VALUE
{
"id": c.id,
"servings": [
{
"description": s.description
}
]
}
FROM c
JOIN s IN c.servings
但是,结果似乎只抓取了服务数组中的第一项。
{
"id": "03226",
"servings": [
{
"description": "oz"
}
]
}
我无法找到任何没有硬编码诸如服务[0] 之类的嵌套对象投影的示例。我该如何解决这个问题?
【问题讨论】:
标签: azure-cosmosdb