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

マングース-グループ化してデータを入力する方法は?

    $ lookup Populateを使用する例では、lookupは配列として入力されるため、$unwindになります。

    Message.aggregate(
        [
            { "$match": { "to": user } },
            { "$sort": { "date": 1 } },
            { "$group": { 
                "_id": "from",
                "to": { "$first": "$to" },
                "message": { "$first": "$message" },
                "date": { "$first": "$date" },
                "origId": { "$first": "$_id" }
            }},
            { "$lookup": {
                 "from": "users",
                 "localField": "from",
                 "foreignField": "_id",
                 "as": "from"
            }},
            { "$lookup": {
                 "from": "users",
                 "localField": "to",
                 "foreignField": "_id",
                 "as": "to"
            }},
            { "$unwind": { "path" : "$from" } },
            { "$unwind": { "path" : "$to" } }
        ],
        function(err,results) {
            if (err) throw err;
            return results;
        }
    )
    


    1. MongoDBを選ぶ理由–2022年にMongoDBを学ぶ10の理由

    2. Spring-Data-MongoDBでオブジェクトを検証するにはどうすればよいですか?

    3. マングースでObjectIdを生成するにはどうすればよいですか?

    4. ClusterControlを使用してMongoDBを自動化および管理する方法