Mongodb 聚合管道aggregate pipeline

aggregate

1. 经小直亲测,aggregate的sum,avg操作只对集合内的数字起作用,字符串会过滤掉哦~

2. aggregate使用的是mongodb内置操作,聚合效率比mapreduce高,并且不需要自定义的javascript,详细解析看MongoDB aggregate,mapreduce,聚合命令的区别

以下举几个例子,详细操作看官网

consume集合内有user_id,amount,date字段

查询2016-06-15金额总数

db.consume.aggregate([

{$match:{"date":"2016-06-15"}},

{$group:{"_id":null,total_amount:{$sum:"$amount"}}}

])

计算2016-06-15不同用户的总金额

db.consume.aggregate([

{$match:{"date":"2016-06-15"}},

{$group:{"_id":"$user_id",total_amount:{$sum:"$amount"}}}

])

查询2016-06-15总条数

db.consume.aggregate([

{$match:{"date":"2016-06-15"}},

{$group:{"_id":null,count:{$sum:1}}}

])

你可能感兴趣的:(Mongodb 聚合管道aggregate pipeline)