group使用示例
> db.ad_batch.aggregate(
[
{
"$match": {
"day_count": {
"$gt": 1
}
}
},
{
"$group": {
"_id": "$batch_id",
"all_count": {
"$sum": "$all_count"
},
"day_count": {
"$sum": "$day_count"
},
"count": {
"$sum": 1
}
}
}
]
)
结果:
{ "_id" : "3", "all_count" : 1000000, "day_count" : 0, "count" : 1 }
{ "_id" : "2", "all_count" : 1000000, "day_count" : 56464, "count" : 1 }
说明:
(1)_id是group 的字段,如果是求字段和就是这样
"$sum": "$day_count"。如果是计数是这样
"$sum": 1
(2)$sum可以换成$avg、$max等
其他示例:
db.ad_batch.aggregate([
... { "$match" : { "provider_id" : { "$in" : ["0156602", "0158056", "0158058"] } } },
... { "$group" : { "_id" : "$provider_id", "count" : { "$sum" : 1 } } }
... ]
... )