首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MongoDb聚合查找嵌套数组

MongoDb聚合查找嵌套数组
EN

Stack Overflow用户
提问于 2017-09-29 22:16:58
回答 1查看 177关注 0票数 0

假设我有一个包含如下文档的MongoDB集合:

代码语言:javascript
运行
复制
{
    _id,
    name: "someName",
    children:[
        ObjectId,
        ObjectId,
    ]
}

是否有可能使用聚合框架和查找对子级进行深度嵌套?另一个问题是,我们通常不知道孩子的查找字段是什么,因此孩子有一个" lookup“数组,其中包含应该在数据库中查找的字段。

因此,例如,结果将为深度3:

代码语言:javascript
运行
复制
{
    _id,
    name: "someName",
    children:[
        {
            _id,
            name: "someName",
            children:[
                {
                    _id,
                    name: "someName",
                    children:[
                        ObjectId,
                        ObjectId,
                    ]
                }
                {
                    _id,
                    name: "someName",
                    children:[
                        ObjectId,
                        ObjectId,
                    ]
                }
            ]
        },
        {
            _id,
            name: "someName",
            children:[
                ObjectId,
                ObjectId,
            ]
        }
    ]
}

我希望能够创建一个函数,使我能够指定查找的“深度”。

我们使用的是mongodb NodeJs驱动。

EN

回答 1

Stack Overflow用户

发布于 2017-09-29 22:44:27

我在这里看到了两种解决方案:

  1. 来更改您的模式,并尝试使用嵌套集合模式。请参阅https://docs.mongodb.com/manual/tutorial/model-tree-structures-with-nested-sets/
  2. To创建一个递归函数来获取所需的所有数据,但您将面临诸如N-aggregation method calls

等问题

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46490758

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档