1、首先举例分析下 mongodb 的聚合操作:
- 该操作表示根据whoisserver_id 字段分组 来统计每个分组下的 count数量:
db.anhui.aggregate({$group:{_id:‘$whoisserver_id‘,total:{$sum:1}}})
查询出来的结果如下:
- 如果查询总的数量:
db.anhui.aggregate({$group:{_id:null,total:{$sum:1}}})
- 以下查询先根据条件过滤然后统计
db.anhui.aggregate({$match:{mx:{$exists:1}}},{$group:{_id:‘$whoisserver_id‘,total:{$sum:1}}})
- 首先过滤数据相当于 sql 语句中where 操作,然后分组 count ,然后 匹配数量大于30的 信息
db.anhui.aggregate({$match:{mx:{$exists:1}}},{$group:{_id:‘$whoisserver_id‘,total:{$sum:1}}},{$match:{total:{$gte:30}}})
以下为查询到的数据
查询
db.anhui.aggregate({$match:{mx:{$exists:1}}},{$group:{_id:‘$mx.brand_id‘,total:{$sum:1}}})
时间: 2024-10-05 05:07:47