MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Броят на Mongodb е различен с множество групови полета

Част от пътя до там, но първо трябва да получите "отличителните" стойности за "holiday_type", след това $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. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Заявка на MongoDB $in с масив от елемент с регулярни изрази

  2. MongoDB atomic findOrCreate:findOne, вмъкнете, ако не съществува, но не актуализирайте

  3. Включете всички съществуващи полета и добавете нови полета към документа

  4. След като приключите, затворете правилно връзката на mongoose

  5. Най-добрият начин за моделиране на система за гласуване в MongoDB