前言
本文主要介绍了MongoDB的聚合操作
聚合操作
聚合操作可以处理记录数并返回计算结果,如统计总数、平均值、求和等(类似于MySQL里面的Sum、Count、Group By等)。 聚合操作组值来自于多个文档,可以对分组数据执行各种操作,返回单个结果。MongoDB中的聚合操作主要分为3类:
-
单一作用聚合: 从单个集合聚合文档,提供了常见聚合过程的简单访问
-
管道聚合: 是一个数据聚合的框架,模型是基于数据处理流水线的概念。文档进入多级管道,转换成最后的聚合结果。
-
MapReduce: 它具有两个阶段,Map阶段:处理每个文档并向每个输入文档发射一个或者多个对象,reduce阶段:组合map操作的输出阶段
单一作用聚合(Single Purpose Aggregation)
单一目的聚合方法聚合来自单个集合的文档。这些方法很简单,但缺乏聚合管道的功能。 主要方法有:
- db.collection.estimatedDocumentCount()
- db.collection.count()
- db.collection.distinct()
聚合管道(Aggregation Pipeline)
参考
- https://www.mongodb.com/docs/v5.0/aggregation/
- https://itcn.blog/p/56326157.html