sql >> Database >  >> NoSQL >> MongoDB

Mongodb-telling verschillend met meerdere groepsvelden

Een deel van de weg daarheen, maar je moet eerst de "verschillende" waarden voor "holiday_type" krijgen, dan moet je $group nogmaals:

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

Dat is het algemene proces, aangezien "onderscheiden" in SQL een soort groeperingsoperatie op zich is. Het is dus een dubbele $group bewerking om uw juiste resultaat te krijgen.




  1. MongoDB db.collection.count()

  2. Waarom is een enkele Jedis-instantie niet threadsafe?

  3. Kan geen verbinding maken met mongoDB in docker-container

  4. Spark HBase-connector – een jaaroverzicht