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字段,我们如何修改查询