MongoDB SELECT COUNT GROUP BY

aggregation-framework, group-by, mongodb

Solution

This would be the easier way to do it using `aggregate`:

db.contest.aggregate([
    {"$group" : {_id:"$province", count:{$sum:1}}}
])

Problem

I am playing around with MongoDB trying to figure out how to do a simple ``` SELECT province, COUNT(*) FROM contest GROUP BY province ``` But I can't seem to figure it out using the aggregate function. I can do it using some really weird group syntax ``` db.user.group({ "key": { "province": true }, "initial": { "count": 0 }, "reduce": function(obj, prev) { if (true != null) if (true instanceof Array) prev.count += true.length; else prev.count++; } }); ``` But is there an easier/faster way using the aggregate function?

Original source