mongodb高级特性aggregate,aggregate类似stream的处理方式,数据经过多级处理,最终输出处理后数据集
1. 统计符合条件的数组数据个数
db.getCollection('customer').aggregate(
[{"$match":{"serverId":"0001214","$records":{"$gt":0}}}, #过滤器 ,对原始数据过滤
{"$unwind":"$records"}, #将records数据字段平铺展开
{"$group":{"_id":0,"count":{"$sum":1}}} #统数量
])
2. 统计重复数据
db.getCollection('customer').aggregate([
{"$match":{"serverId":"0001214"}}, #过滤器
{"$group":{phone:"$phone","count":{"$sum":1}}}, #计算手机数
{"$match":{ count : { $gt : 1} }} #过滤手机数>1的信息
])
网友评论