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

MongoDB count отделна стойност?

Докато .distinct() работи добре само за получаване на отделните стойности за поле, за да получите действително броя на събитията, това е по-подходящо за рамката за агрегиране:

Collection.aggregate([
    { "$group": {
        "_id": "$field",
        "count": { "$sum": 1 }
    }}
],function(err,result) {

});

Също така .distinct() методът прави „абстракция“ от мястото, където определеното „отличително“ поле всъщност е в масив. В този случай трябва да извикате $unwind първо да обработи елементите на масива тук:

Collection.aggregate([
    { "$unwind": "$array" },
    { "$group": {
        "_id": "$array.field",
        "count": { "$sum": 1 }
    }}
],function(err,result) {

});

Така че основната работа се извършва основно в $group чрез "групиране" на стойностите на полето, което означава същото нещо като "различен". $sum е оператор за групиране, който в този случай просто събира 1 за всяко поява на тази стойност в полето за тази колекция.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB - Издърпване на множество обекти от масив

  2. Създайте колекция в MongoDB

  3. Филтриране на вградени документи в MongoDB

  4. Networkx никога не приключва с изчисляването на централната централна среда за 2 mil възли

  5. Влияние върху производителността при Meltdown върху MongoDB:AWS, Azure и DigitalOcean