sql >> Databasteknik >  >> NoSQL >> MongoDB

Vad är det korrekta sättet att göra en HAVING i en MongoDB GROUP BY?

Nytt svar med Mongo aggregeringsramverk

Efter att denna fråga ställts och besvarats släppte 10gen Mongodb version 2.2 med ett aggregeringsramverk. Det nya bästa sättet att göra den här frågan är:

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 har ett praktiskt konverteringsdiagram för SQL till Mongo Aggregation värt att bokmärka.



  1. redis - Använda hash

  2. MongoDB:s prestanda på aggregeringsfrågor

  3. Mongo-aggregation Matcha flera värden

  4. Så här tar du emot Redis-publiceringsmeddelande i Go