MongoDB 轻松搞定统计 —— 聚合函数使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MongoDB 轻松搞定统计 —— 聚合函数使用相关的知识,希望对你有一定的参考价值。

参考技术A mysql 中我们通常使用 SELECT count(*) FROM table_name WHERE ... 来获取满足某个条件的记录条数。在 MondoDB 中还提供了类似的方法。MongoDB 有如下方式:

以下面的数据为例:

查找男性的用户数量可以这样做:

如果要实现条件查询呢,使用条件即可,比如查询性别为男,年龄大于等于15的用户:

条件的时候和之前条件查询的用法一样,可以参考: MongoDB 条件查询和排序 。
MongoDB 同样提供了分组计数的方法。比如要统计男女性别的人数,可以按如下方式进行:

求和通过聚合的$sum 操作符来完成,可以用来计算某一个数值列的和,例如我们要计算所有年龄之和。

这里_id 指定为 null 是就是对全部数据进行求和(即不分组),若指定了列,则可以分组求和,比如对男性和女性分别求和。

求和也可以对多个字段进行求和,以下面的外卖订单数据为例:

我们想知道算上配送费的订单总额,可以像下面那样做,如果我们加上商品名称也可以得到每个商品的销售总额。

平均值通过$avg 操作符完成,例如上面数据的计算平均客单价:

本篇介绍了 MongoDB 的聚合函数的基本用法,包括计数、求和和取平均值。通过 MongoDB 提供了聚合函数可以高效地完成统计工作。

以上是关于MongoDB 轻松搞定统计 —— 聚合函数使用的主要内容,如果未能解决你的问题,请参考以下文章

MongoDB聚合使用表达式运算符(函数)分组按条件计数统计案例一则

Mongodb07 - 聚合

MongoDB(课时26 聚合(取的集合个数))

Elasticsearch JAVA api轻松搞定groupBy聚合

MongoDB-管道与聚合

Python全栈 MongoDB 数据库(聚合二进制GridFSpymongo模块)