如何构造我的 MongooseJS/MongoDB 查询以获取特定字段值的总重复项/出现次数?又名:所有 custID 的 custID
的 some 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
您的文件通过 custID
并使用 $sum
累加器运算符返回每个组的“计数”。
db.tapwiser.aggregate(
[
{ "$group": { "_id": "$custID", "count": { "$sum": 1 } } }
], function(err, results) {
// Do something with the results
}
)
关于mongodb - 计算重复值的出现次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34644655/