私はMongoDBで遊んでいて、簡単な
SELECT province, COUNT(*) FROM contest GROUP BY province
しかし、集計関数を使っても理解できないようです。奇妙なグループ構文を使って実行できます。
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++;
}
});
しかし、集計関数を使用するより簡単/より速い方法はありますか?
ベストアンサー1
これは、aggregate
:
db.contest.aggregate([
{"$group" : {_id:"$province", count:{$sum:1}}}
])