Azure cosmosdb 从CosmosDB中的数组获取对象字段值

Azure cosmosdb 从CosmosDB中的数组获取对象字段值,azure-cosmosdb,Azure Cosmosdb,我对CosmosDB有一个查询: SELECT food.tags FROM food 其中返回以下内容: { "tags": [ { "name": "babyfood" }, { "name": "dessert" }, { "name": "fruit pudding" }, { "name": "orange" }, { "name": "strain

我对CosmosDB有一个查询:

SELECT food.tags FROM food
其中返回以下内容:

{
  "tags": [
    {
      "name": "babyfood"
    },
    {
      "name": "dessert"
    },
    {
      "name": "fruit pudding"
    },
    {
      "name": "orange"
    },
    {
      "name": "strained"
    }
  ]
}
我想创建一个查询以获得如下结果:

["babyFood", "dessert", "fruit pudding", "orange", "strained"] 
因此,我的目标是获得一个数组,该数组将包含来自“tags”数组中所有对象的“name”字段的值

如何在CosmosDB SQL中实现这一点


请提供帮助。

从f中选择VALUE t.name并在food.tags中加入t


使用VALUE进行展平。

这将返回作为分隔值的值,而不是我想要的数组中的值。我的解决方案是用JavaScript创建一个用户定义的函数,并在查询中使用它。实际上,这将返回一个值数组。我上一次的编辑没有完全完成。实际上,这将完全返回您上面提到的数组。你得到了什么样的结果?或者这仅仅是因为food.tags中f join t中的SELECT VALUE t.name输入错误,在f.tagsHow中应该是f join t中的SELECT VALUE t.name以获取对象字段名称?您希望获取哪个对象的名称?