mongodb - MongoDB 聚合:如何展开未知数量的嵌套数组?
问题描述
我有一个看起来像这样的集合:
{
"name": "item1",
"values": [<some array>],
"subitems": [
{
"name": "item2",
"values": [<some array>],
"subitems": [
{
"name": "item3",
"values": [<some array>],
"subitems": [
{
"name": "item4",
"values": [<some array>],
"subitems": [
{
"name": "item5",
"values": [<some array>],
"subitems": [
<...and so on...>
]
}
]
}
]
}
]
}
]
}
所以基本上“深度”subitems
是不确定的,每个subitems
数组可能包含任意数量的元素。
如果我们 unwind subitems
,mongo 只会subitems
在 level 上展开元素item1
,这是有道理的。但是,我需要它以递归方式深入层次结构。
我们怎样才能解开所有的嵌套subitems
?
解决方案
推荐阅读
- python - 哪个需要更少的内存,frozenset 还是 tuple?
- git - 将 future 分支合并到 dev 的步骤,使 dev 始终与 future 分支同步
- html - 我还没有得到属性位置,为什么我的页面没有滚动?(第一个 HTML)
- java - 如何知道字符变量包含哪些内容?
- python - 如何打印一个十进制数,最多 n 个十进制值,如果最后忽略 0?
- java - 为什么 ant Manifest 任务拆分长主类名?
- get - RestTemplate getForObject 工作了几个小时,然后抛出 400 错误请求,最终更改为 494 UnsupportedHttpStatusCodeException
- reactjs - React + Webpack:无法将我的所有路由重定向到 index.html
- python - Python WHILE 循环,难以理解
- php - 这是 Wordpress 偏移的正确代码吗?