因此,在我的mongo数据库中,我为每个用户提供了大量的记录,这些记录看起来类似于这样:
{ "_id" : ObjectId("563d32e1f91e50523787ad2c"), "userId" : ObjectId("563cedfb86aa990cf500000d"), "price" : NumberLong(200)}
{ "_id" : ObjectId("563d32eaf91e50523787adb6"), "userId" : ObjectId("563cedfb86aa990cf500000d"), "price" : NumberLong(500)}我需要实现的是得到每个用户的价格字段之和。顺便说一下,我有大约100万用户和大约2-8的价格记录。
对此的shell查询看起来是怎样的呢?谢谢。
发布于 2016-07-19 10:49:18
您可以通过userId使用aggregate计算字段组的和:
db.device.aggregate([{
$group: {
"_id": "$userId",
"totalAmount": { $sum: "$price"}
}
}])检查https://docs.mongodb.com/manual/reference/operator/aggregation/sum/
https://stackoverflow.com/questions/38456292
复制相似问题