DAY27 mongo aggregate

今天要教 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还有很多其他的用法 这就需要我们继续研究了


<<:  [D27] : 一个Queue+Docker在Local的实作(1/4)

>>:  [Day27]Flutter Netflix UI 使用json_serializable转换Model

1Y0-403 转储 - Citrix 1Y0-403 考试准备指南

您是 Citrix CCE-V 考试的有抱负的候选人之一吗?然後你就中了头奖!多年来,学生在尝试通过...

DAY29 - 把LineBot或网站架在Heroku上

前言 终於来到铁人赛的第29天啦,今天的内容是把之前做好的Line股价机器人 部署到Heroku 上...

(Day17) this 介绍下 - 绑定 this 的 call & apply & bind 与严格模式

前言 上篇大致讲解了 this 在不同状况的指向,这篇会来讲讲使用 call/apply/bind ...

后续说明

很遗憾,由于假期原因,没能够及时更新,中断了更新。 不过这个系列还是会继续更新下去的,直到结束。 未...

DAY18 - 档案处理 - 上传档案前需要知道的FormData

从前端传输档案到後端可以透过两种形式: base64的格式 (ios, android不支援) Fo...