iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 27
1

今天要教 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還有很多其他的用法 這就需要我們繼續研究了


上一篇
DAY26 尋找特定時間區間資料
下一篇
DAY28 mongodb aggregate(2)
系列文
初學者也能實做的環控系統30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言