今天要教 mongo aggregate 中文叫做聚合 是一種將來自多個document的value組合在一起,並通過對分組數據進行各種操作處理,並返回計算後的數據結果 主要用於計算平均值或總和
主要的用法如下
> db.data.aggregate([{$group : {_id : "$name", datasum : {$sum : 1}}}])
其中我們id 就是我們資料表的欄位 後面的$sum就是指計算總和
後面的計算方式有很多種 其中最常用的幾種 就是 $avg $sum $max $min
我們改用 $avg
> db.data.aggregate([{$group : {_id : "$name", datasum : {$avg : "$data"}}}])
{ "_id" : "test", "datasum" : 123 }
{ "_id" : "TVOC", "datasum" : 0.2903225806451613 }
{ "_id" : "CO2", "datasum" : 343.8346456692913 }
可以看出他幫我們算出了 CO2 的平均 跟TVOC的平均
再來用 $max
> db.data.aggregate([{$group : {_id : "$name", datasum : {$max : "$data"}}}])
{ "_id" : "test", "datasum" : 123 }
{ "_id" : "TVOC", "datasum" : 2 }
{ "_id" : "CO2", "datasum" : 414 }
同樣可以看出我們找到了 最大值 414
所以我們可以知道 mongo aggregate 的基本用法 不過mongo aggregate還有很多其他的用法 這就需要我們繼續研究了