聚合管道(Aggregation Pipeline)
定义
聚合管道是MongoDB提供的一种数据统计框架。通过Aggregation操作,能够实现类似于SQL 中Group By操作的功能。
由于之前MongoDB中实现聚合操作需使用相对复杂的MapReduce,而聚合管道拥有固定的操作符表达, 使用更为简单。因此,聚合管道能够成为MapReduce的一种替代方案。
工作方式
聚合管道由多个节点组成,这些节点用管道操作符来进行表示。每个节点有自己特殊的功能(分组、过滤等)。
文档从一个操作节点 流向下一个节点 ,每个操作节点对文档做相应的操作,最后输出相应的结果。
功能
管道基本的功能有两个:一是对文档进行“过滤”,也就是筛选出符合条件的文档;二是对文档进行“变换”,