簡體   English   中英

MongoDb聚合查找嵌套數組

[英]MongoDb Aggregation lookup nested Array

可以說我有一個MongoDB集合,其中包含以下文檔:

{
    _id,
    name: "someName",
    children:[
        ObjectId,
        ObjectId,
    ]
}

是否可以使用聚合框架和查找與子對象進行深度嵌套? 另一個問題是,我們不經常知道子項的查找字段是什么,因此,子項具有“查找”數組,其中包含應在數據庫中查找的字段。

因此,例如,結果的深度為3:

{
    _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驅動程序。

我在這里看到2種解決方案:

  1. 要更改架構並嘗試使用嵌套集模式。 參見https://docs.mongodb.com/manual/tutorial/model-tree-structures-with-nested-sets/

  2. 要創建一個遞歸函數以獲取所需的所有數據,但您將遇到諸如N聚合方法調用之類的問題

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM