sql >> データベース >  >> NoSQL >> MongoDB

Mongodb再帰クエリ

    以下の集計を試すことができます。

    ステージ$match - $graphLookup - $project

    $reduce $graphLookupのそれぞれから最初の要素を選択します nameList's na 配列。

    db.taxon.aggregate([{
        $match: {
            _id: {
                $in: listId
            }
        }
    }, {
        $graphLookup: {
            from: "taxon",
            startWith: "$_id",
            connectFromField: "pa",
            connectToField: "_id",
            as: "nameList"
        }
    }, {
        $project: {
            nameList: {
                $reduce: {
                    input: "$nameList",
                    initialValue: [],
                    in: {
                        "$concatArrays": ["$$value", {
                            $slice: ["$$this.na", 1]
                        }]
                    }
                }
            }
        }
    }])
    



    1. MongoDB:コレクション内の数十億のドキュメント

    2. 配列内のサブドキュメントのMongodb集計

    3. JavaでmongoDBにストリームを書き込みます

    4. MongoDB $ year