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的输入

posted @ 2022-04-10 08:31  红丿领巾  阅读(164)  评论(0)    收藏  举报