Azure cosmosdb 在cosmosdb sql中展平嵌套数组

Azure cosmosdb 在cosmosdb sql中展平嵌套数组,azure-cosmosdb,azure-cosmosdb-sqlapi,Azure Cosmosdb,Azure Cosmosdb Sqlapi,我有以下cosmosdb文件: { id: "id", outer: [ { "inner": [ "a", "b", "c" ] }, { "inner": [ "d", "e", "f" ] } ] } 我需要创建一个SQL请求,它将返回内部数组

我有以下cosmosdb文件:

{
  id: "id",
  outer: [
    {
      "inner": [ "a", "b", "c" ]
    },
    {
      "inner": [ "d", "e", "f" ]
    }
  ]
}
我需要创建一个SQL请求,它将返回内部数组的所有组合值,如下所示:

{
   "allInners": [ "a", "b", "c", "d", "e", "f" ]
}
我能够使用IN操作符展开第一个数组级别,但我不确定如何将其再展开一个级别,以及如何处理双重或甚至三重嵌套数组。 下面是我聚合这些项的子查询

选择 ... 其他的东西。 数组从c.outer中的innerObj中选择值innerObj.inner作为Allinner, ... 来自c
请尝试类似以下sql的操作:

select ARRAY(SELECT VALUE e FROM c join d in c["outer"] join e in d["inner"]) AS allInners from c 
以下是我的测试结果:


希望这能对您有所帮助。

我使用嵌套的IN和子查询找到了以下问题的解决方案:

大堆 选择值内部 由内而内 选择值outers.inner 从c.outer中的outers开始
获取内部数组中的每个项,并将它们放入新数组中。您可以运行sql:从c中选择c、d、e在c[outer]中加入d在c[inner]中加入e在d[inner]中查看文档的外观。有关详细信息,请参阅和。