mongodb - MongoDB 展平任意嵌套数组
问题描述
我有一个包含任意嵌套数组的文档结构,类似于以下内容,我想在聚合管道期间将其展平:
{
"data": [
"one",
[
"two",
"three"
],
[
[ "four" ],
[ "five" ]
]
]
}
预期结果:
{ "data": [ "one", "two", "three", "four", "five" ] }
Existing question here给出了一些想法(尤其是这个答案),但并不完全具有任意嵌套深度。
有没有更通用的解决方案?
解决方案
MongoDB 不提供任何循环或递归,因此任意多次执行任何操作都是不可能的。
您可以在客户端中以编程方式构建一个聚合管道,该管道可以将数组展平数十级深度,但整个管道必须适合 16MB 的请求文档,因此它不支持任意深度。
推荐阅读
- node.js - 每当应用程序重新启动时,Nodejs 都会卡在处理中
- python - 捕获 SQLAlchemy 警告
- swift - 用 SwiftUI 连接 UIKit,为什么我的 NavBar 丢失了?
- react-native - TypeError: myQRCode.toDataURL 不是函数
- azure - 如何通过技能清单/端点使用 Azure Health Bot Skills?
- go - Golang:为什么我的选择不听频道?
- python - 如何确保我的 tkinter 滚动条不会向左滚动
- javascript - 输入掩码未删除
- amazon-web-services - Clouwatch运行事件规则层出不穷
- pandas - 使用可为空的布尔值在数据框中查找空字符串