##mongodb 聚合查询 $sum
1.字段的类型必须相同 比如
![数据字段类型](https://img-blog.csdnimg.cn/2020091815523675.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MTE1Njk1Mw==,size_16,color_FFFFFF,t_70#pic_center)
2.管道概念
使用聚合统计的时候,mongodb会把每次查询的数据单独存到一个管道中,所以可以分别统计到不同的信息
(1)统计每个游戏的得分量
![统计每个游戏的得分量](https://img-blog.csdnimg.cn/20200918163813416.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MTE1Njk1Mw==,size_16,color_FFFFFF,t_70#pic_center)
(2)更进一步统计每一个游戏下面有多少人玩
db.getCollection("GameLog0").aggregate([{
$match: {
TimeStamp: {
$lte: 1591332469,
$gte: 1590221887
}
}
}, {
$group: {
_id: {
ServerID: "$ServerID",
UserID: "$UserID"
},
bestona: {
$sum: "$BetonGold"
}
}
}, {
$group: {
_id: "$_id.ServerID",
bestona1: {
$sum: "$bestona"
},
userc: {
$sum: 1
}
}
}])
![统计每个游戏下面多少人玩儿](https://img-blog.csdnimg.cn/20200918165834310.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MTE1Njk1Mw==,size_16,color_FFFFFF,t_70#pic_center)
运行结果: