mongoid group_by code example
Example 1: mongodb group by having
#It's the equivalent of the following SQL instruction:
# SELECT COUNT(*) FROM Table
# GROUP BY your_field
# HAVING COUNT(*) > N
query = db.collection.aggregate([
{
"$group": { "_id": "$your_field", #GROUP BY your_field
"count": {"$sum":1} } #COUNT(*)
},
{ "$match": { "count": { "$gt": N } } } #HAVING COUNT(*) > N
])
Example 2: mongodb aggregate group
#equivalent of the following SQL instruction:
# SELECT COUNT(*) FROM Table
# GROUP BY your_field
query = db.collection.aggregate([
{
"$group": {
"_id": "$your_field", #GROUP BY your_field
"total": {"$sum":1} #COUNT(*)
}
}
])