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

Какъв е правилният начин да направите HAVING в MongoDB GROUP BY?

Нов отговор, използващ рамката за агрегиране на Mongo

След като този въпрос беше зададен и отговорен, 10gen пусна Mongodb версия 2.2 с рамка за агрегиране. Новият най-добър начин да направите тази заявка е:

db.col.aggregate( [
   { $group: { _id: { userId: "$userId", name: "$name" },
               count: { $sum: 1 } } },
   { $match: { count: { $gt: 1 } } },
   { $project: { _id: 0, 
                 userId: "$_id.userId", 
                 name: "$_id.name", 
                 count: 1}}
] )

10gen има удобна диаграма за преобразуване на SQL към Mongo Aggregation, която си струва да направите отметка.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Проверка на връзката с MongoDB

  2. MongoDB - вземете документи с максимум атрибут за група в колекция

  3. Персонализирано каскадиране в Spring Data MongoDB

  4. MongoDB агрегации, използващи Java

  5. Изчислете средната стойност на полетата във вградените документи/масив