COSMOS DB加入TOP运营商

时间:2020-07-16 13:01:20

标签: linq multidimensional-array azure-cosmosdb

在cosmos db中,我可以从所有文档中获取前1个并获取所有内部数组吗?

例如,我有50种这种格式的文档,我希望从最新插入的文档中标记数组部分

  { "id": "19015",   "description": "Snacks, granola bars, hard, plain",   "tags": [
    {
      "name": "snacks"
    },
    {
      "name": "granola bars"
    },
    {
      "name": "hard"
    },
    {
      "name": "plain"
    }   ],   "foodGroup": "Snacks",   "informationDate": "dates"

}

我正在做select top 1 f.name from c join f in c.tags,但是我只得到这作为最新文档的结果{ "name" : "snacks"}。有什么办法可以在最新文档中获取所有数组?

我的预期结果是

{
          "name": "snacks"
        },
        {
          "name": "granola bars"
        },
        {
          "name": "hard"
        },
        {
          "name": "plain"
        } 

1 个答案:

答案 0 :(得分:0)

该查询如何?

SELECT TOP 1 VALUE c.tags FROM c ORDER BY c._ts DESC

它在下面返回。

[
    {
        "name": "snacks"
    },
    {
        "name": "granola bars"
    },
    {
        "name": "hard"
    },
    {
        "name": "plain"
    }
]