sql >> Databáze >  >> NoSQL >> MongoDB

Počet Mongodb odlišný s více skupinovými poli

Část cesty tam, ale musíte nejprve získat "odlišné" hodnoty pro "holiday_type" a poté $group znovu:

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 }
 );

To je obecný proces, protože "odlišný" v SQL je druh operace seskupení sama o sobě. Jde tedy o dvojitou $group operaci, abyste získali správný výsledek.




  1. Fronta úloh s redis pomocí BLPOP

  2. Jak správně definovat objekt v poli ve schématu Mongoose pomocí 2d geo indexu

  3. Jak sloučit dokumenty při importu souboru do MongoDB

  4. Uložit podmnožinu sbírky MongoDB do jiné sbírky