Cosmos DB:查找数组中项目的索引

Cosmos DB : Find the index of an item in an array

我想在 Cosmos DB 的嵌套数组中查找所有项目的索引号:

数据:

{
"id":"MyId",
"items" : [
{"id": "Item1"},
{"id" : "Item2"}
]
}

查询:

SELECT f.id, index : ** How to get the index of items ? ** 

FROM root JOIN f IN root["items"] 

WHERE (IS_DEFINED(root["items"]) AND (root["id"] = "MyId"))

我想要这样的结果:

[

{"id": "item1", "index": 0},

{"id": "item2", "index" : 1}

]

感谢

Cosmos SQL API 没有内置支持来实现上述结果。但是你可以执行以下建议

  1. 您可以在 User Defined Function 中编写自己的逻辑或 检索数据并按照您在客户端上需要的方式对其进行格式化 边

  2. 其他方法是只在数据模型本身中包含索引