MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Quelle est la bonne façon de faire un HAVING dans un GROUP BY MongoDB ?

Nouvelle réponse utilisant le framework d'agrégation Mongo

Après avoir posé cette question et répondu, 10gen a publié la version 2.2 de Mongodb avec un cadre d'agrégation. La nouvelle meilleure façon de faire cette requête est :

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 a un tableau de conversion pratique SQL vers Mongo Aggregation qui vaut la peine d'être mis en signet.