Azure cosmosdb 在cosmosdb sql中展平嵌套数组
我有以下cosmosdb文件: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请求,它将返回内部数组
{
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]中查看文档的外观。有关详细信息,请参阅和。