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

Mongodbは、複数のグループフィールドで区別されます

    途中ですが、最初に「holiday_type」の「distinct」値を取得してから、 $group もう一度:

    db.transactions.aggregate([
        { "$group": { 
            "_id": { 
                "employee" : "$employee",
                "Month": { "$month" : "$date" }, 
                "Year": { "$year" : "$date" },
                "holiday_type" : "$holiday_type"
            },
         }},
         { "$group": {
             "_id": {
                "employee" : "$_id.employee",
                "Month": "$_id.Month",
                "Year": "$_id.Year"
             },
             "count": { "$sum": 1 }
         }}
     ], { "allowDiskUse": true }
     );
    

    これは一般的なプロセスです。SQLの「個別」はそれ自体が一種のグループ化操作であるためです。つまり、これは二重の $group 正しい結果を得るための操作。




    1. Node.jsで同期MongoDBクエリを作成する正しい方法は何ですか?

    2. mongodb:列の最大の数値を見つける

    3. マルチコアCPUでのRedisのパフォーマンス

    4. mongodb集約フレームワークの結果を新しいコレクションにエクスポートします