如何构造MongooseJS / MongoDB查询以获取特定字段值的重复项/出现项总数?又名:总用文件custID
的some value
所有custIDs
我可以在命令行中手动执行此操作:
db.tapwiser.find({"custID" : "12345"}, {}, {}).count();
输出:1
db.tapwiser.find({"custID" : "6789"}, {}, {}).count();
输出:4
我找到了这个资源:
如何对MongoDB集合中字段的不同值求和(使用猫鼬)
但这要求我指定要累加的唯一字段。
在这种情况下,我要遍历所有文档,并对每个文档的出现求和。
您所要做的就是通过$group
您的文档,custID
并使用$sum
累加器运算符为每个组返回“计数”。
db.tapwiser.aggregate(
[
{ "$group": { "_id": "$custID", "count": { "$sum": 1 } } }
], function(err, results) {
// Do something with the results
}
)