MongoDB SELECT COUNT GROUP BY 質問する

MongoDB SELECT COUNT GROUP BY 質問する

私は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}}}
])

おすすめ記事