Azure cosmosdb 如何从CosmosDB文档中的特定位置检索数组元素?
假设我有一个具有以下结构的文档Azure cosmosdb 如何从CosmosDB文档中的特定位置检索数组元素?,azure-cosmosdb,azure-cosmosdb-sqlapi,Azure Cosmosdb,Azure Cosmosdb Sqlapi,假设我有一个具有以下结构的文档 { "VehicleDetailId": 1, "VehicleDetail": [ { "Id": 1, "Make": "BMW" }, { "Id": 1, "Model": "ABDS" }, { "Id": 1, "T
{
"VehicleDetailId": 1,
"VehicleDetail": [
{
"Id": 1,
"Make": "BMW"
},
{
"Id": 1,
"Model": "ABDS"
},
{
"Id": 1,
"Trim": "5.6L/ASMD"
},
{
"Id": 1,
"Year": 2008
}
]
}
现在我想从VehicleDetail数组中检索位于特定位置的数组元素,就像检索第二个元素一样,即
{
"Id": 1,
"Model": "ABDS"
}
或者第三个
{
"Id": 1,
"Trim": "5.6L/ASMD"
}
如何编写查询以实现此目的?使用内置函数。这允许您选择阵列的一部分
传递数组、起始位置、要选择的元素数
SELECT ARRAY_SLICE(c.VehicleDetail, 1, 1) As SecondElement
FROM c
输出:
{
"SecondElement": [
{
"Id": 1,
"Model": "ABDS"
}
]
}
假设我只需要这个结果中的id字段,我们如何修改查询