mongodb 聚合查询 $sum

##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)

运行结果:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值