aggregate
1. 經(jīng)小直親測(cè)炮障,aggregate的sum,avg操作只對(duì)集合內(nèi)的數(shù)字起作用,字符串會(huì)過(guò)濾掉哦~
2. aggregate使用的是mongodb內(nèi)置操作坤候,聚合效率比mapreduce高胁赢,并且不需要自定義的javascript,詳細(xì)解析看MongoDB aggregate白筹,mapreduce智末,聚合命令的區(qū)別
以下舉幾個(gè)例子,詳細(xì)操作看官網(wǎng)
consume集合內(nèi)有user_id徒河,amount系馆,date字段
查詢(xún)2016-06-15金額總數(shù)
db.consume.aggregate([
{$match:{"date":"2016-06-15"}},
{$group:{"_id":null,total_amount:{$sum:"$amount"}}}
])
計(jì)算2016-06-15不同用戶(hù)的總金額
db.consume.aggregate([
{$match:{"date":"2016-06-15"}},
{$group:{"_id":"$user_id",total_amount:{$sum:"$amount"}}}
])
查詢(xún)2016-06-15總條數(shù)
db.consume.aggregate([
{$match:{"date":"2016-06-15"}},
{$group:{"_id":null,count:{$sum:1}}}
])