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

MongoDB-ネストされたフィールドを持つグループ複合キー

    最初に $ unwind> $ group パイプライン段階の後のオペレーター。最終的には、次のような集約パイプラインが作成されます。

    db.testing.aggregate([
        { "$unwind": "$Event_types" },
        { "$unwind": "$Event_types.events" },
        { "$unwind": "$Event_types.events.by" },
        { "$unwind": "$Event_types.events.by.countArray" },
        {
            "$group": {
                "_id": {
                    "type": "$Event_types.type",
                    "name": "$Event_types.events.eventName",
                    "siteName": "$Event_types.events.by.siteName"
                },
                "total": { 
                    "$sum": "$Event_types.events.by.countArray.value"
                }
            }
        },
        {
            "$project": {
                "_id": 0,
                "type": "$_id.type",
                "name": "$_id.name",
                "siteName": "$_id.siteName",
                "total": 1
            }
        }
    ]);
    

    出力

    /* 1 */
    {
        "result" : [ 
            {
                "total" : 90,
                "type" : "Party",
                "name" : "After Party",
                "siteName" : "PostParty"
            }, 
            {
                "total" : 40,
                "type" : "Party",
                "name" : "After Party",
                "siteName" : "club8"
            }
        ],
        "ok" : 1
    }
    



    1. キャッシュを最新の状態に保つ方法

    2. マングース-2dsphereインデックス-ハウツー

    3. .NET4にmongodbC#ドライバーサポートSystem.Dynamic.DynamicObjectはありますか?

    4. _http_server.js:192 throw new RangeError( `Invalid status code:$ {statusCode}`);