计算重复值的出现次数

Count occurrences of duplicate values

如何构造我的 MongooseJS/MongoDB 查询以获得特定字段值的总 duplicates/occurrences?又名:所有 custID

custIDsome value 的文档总数

我可以在命令行中手动执行此操作:

db.tapwiser.find({"custID" : "12345"}, {}, {}).count();

输出:1

db.tapwiser.find({"custID" : "6789"}, {}, {}).count();

输出:4


我找到了这个资源:

How to sum distinct values of a field in a MongoDB collection (utilizing mongoose)

但它要求我指定要求和的唯一字段。

在这种情况下,我想遍历所有文档,对每个文档的出现次数求和。

您需要做的就是对每个组 $group your documents by custID and use the $sum 累加器运算符 return "count"。

db.tapwiser.aggregate(
    [ 
        { "$group":  { "_id": "$custID", "count": { "$sum": 1 } } }
    ],  function(err, results) {
            // Do something with the results
        }
)