Overview
在本指南中,您可以学习如何使用MongoDB Node.js驱动程序执行聚合操作。
聚合操作会对 MongoDB 集合中的数据进行处理,并返回计算结果。MongoDB 聚合框架以数据处理管道的概念为模型。文档通过一个或多个阶段组成的管道流转,该管道将文档转化为聚合结果。
要了解有关 Node.js 驱动程序支持的聚合阶段的更多信息,请参阅聚合管道阶段。
类比
聚合管道类似于汽车工厂的装配线。装配线设有配备专用工具的工位,用于执行特定任务。示例,在制造汽车时,装配线从框架开始。当车架在装配线上移动时,每个工位都组装一个单独的零件。最终产品即成品汽车。
聚合管道是装配线,聚合阶段是装配站,表达式操作符是专用工具,聚合结果是成品。
比较聚合与查找操作
下表列出了使用查找操作可以执行的不同任务,以及使用聚合操作可以实现的任务。聚合框架提供了扩展功能,允许您转换和操作数据。
查找操作 | 聚合操作 |
|---|---|
选择要返回的特定文档 |
|
服务器限制
执行聚合操作时要考虑以下限制:
返回的文档不得违反 BSON 文档大小限制(16 兆字节)。
默认下,管道阶段的内存限制为 100 MB。如果需要,您可以通过启用传递给
aggregate()方法的AggregateOptions对象的AllowDiskUse属性来超出此限制。
更多信息
有关聚合阶段的完整列表,请参阅 聚合阶段,详见 MongoDB Server 手册。