mongo分组
分组统计:group,有的版本已经没有了,可以实现max sum avg 等,但是不支持shard cluster,无法分布式运算
db.c1.group()
{
key:{},
cond:{},
reduce:function(curr,result){
curr相当于一行一行的记录,result相当于一个组
},
initial:{} 定义参数的地方,
finalize:function(){} ,这个参数是离开组的时候回调函数
}
简单聚合:aggregate
where $match
group by $group
Having $match
order by $sort
limit $limit
sum() $sum
count() $sum
筛选出每个栏目下价格大于50元的商品个数
[{$mathch:{shop_proce:{$gt:50}}},
{$group:{_id:"$cat_id",total:{$sum:1}}}
]
强大统计:mapreduce
db.order.mapReduce()
query:是过取符合条件的,也就是过滤掉不合格的
map函数里面必须调用emit函数,发散的意思,把我们感兴趣的数据拿出来成为一个数组
map的输出作为reduce的输入
浙公网安备 33010602011771号