【MongoDB实战】5.1 聚合管道基础:理解阶段(Stage)概念 - 实践

news/2026/1/17 17:16:06/文章来源:https://www.cnblogs.com/gccbuaa/p/19496713

文章目录

  • 《MongoDB实战入门》第5章 进阶查询:聚合管道与数据统计分析
    • 5.1 聚合管道基础:理解阶段(Stage)概念
      • 5.1.1 聚合管道的核心逻辑:多阶段顺序执行,数据逐步处理
      • 5.1.2 聚合管道与普通查询的区别:适用场景对比
      • 5.1.3 实战实操:聚合管道基础案例
        • 前置准备:创建测试数据集
        • 案例1:简单聚合管道(筛选+分组+排序)
        • 案例2:聚合管道 vs 普通查询(对比演示)
          • 方式1:普通查询(find)
          • 方式2:聚合管道(aggregate)
        • 案例3:基础阶段扩展(投影+分页)
      • 5.1.4 核心总结

《MongoDB实战入门》第5章 进阶查询:聚合管道与数据统计分析

5.1 聚合管道基础:理解阶段(Stage)概念

5.1.1 聚合管道的核心逻辑:多阶段顺序执行,数据逐步处理

MongoDB 聚合管道(Aggregation Pipeline)是实现复杂数据聚合、统计、转换的核心机制,其本质是多阶段(Stage)组成的顺序执行流水线,核心逻辑可概括为:

    1. 流水线执行模型:数据从集合中读取后,依次流经管道的每个阶段(Stage),每个阶段仅接收上一阶段的输出作为输入,完成特定处理后传递给下一阶段,最终输出处理结果。
    1. 阶段的独立性:每个阶段由特定的聚合操作符(如$match$group$project)定义,仅负责单一职责(筛选、分组、投影、排序等),阶段顺序直接影响结果正确性和查询性能(例如:先$match过滤数据再$group,可减少分组计算的数据量)。
    1. 数据的动态转换:管道中传递的是 BSON 文档,每个阶段可修改文档结构(如新增字段、删除字段、重命名字段)、筛选文档、聚合计算(求和、计数、平均值等),最终输出符合业务需求的结构化结果。

聚合管道的核心公式可简化为:

原始数据  阶段1(处理)→ 阶段2(处理)→ ...  阶段N(处理)→ 最终结果

5.1.2 聚合管道与普通查询的区别:适用场景对比

MongoDB 普通查询(find()/findOne())和聚合管道(aggregate())是两种核心数据查询方式,其核心区别和适用场景如下表所示:

维度普通查询(find)聚合管道(aggregate)
核心能力数据筛选、字段投影(仅包含/排除)、排序分页多阶段数据处理(筛选、分组、计算、转换)
计算能力无(仅能返回原始数据)支持复杂聚合计算(求和、计数、平均值、去重等)
结果形态返回原始文档(可投影字段,但结构不变)可动态生成新文档结构(新增计算字段、嵌套结构等)
性能特点轻量快速,适合简单查询支持阶段优化(如先过滤后分组),适合复杂统计
适用场景1. 单条件/多条件筛选原始数据
2. 简单分页查询
3. 仅需返回部分字段的场景
1. 数据分组统计(如按分类统计销售额)
2. 多集合关联查询($lookup)
3. 数据转换/清洗(如字段重命名、格式标准化)
4. 复杂指标计算(如平均值、中位数、去重计数)

5.1.3 实战实操:聚合管道基础案例

前置准备:创建测试数据集

首先创建电商订单集合(orders),插入测试数据,模拟真实业务场景:

// 1. 切换到测试数据库
use test_db;
// 2. 插入订单数据(共6条,包含不同用户、商品分类、金额、时间)
db.orders.insertMany([
{

order_id: "OD001",
user_id: 101,
category: "电子产品",
amount: 2999,
create_time: ISODate("2025-01-01T10:00:00Z"),
status: "已支付"
},
{

order_id: "OD002",
user_id: 102,
category: "电子产品",
amount: 1999,
create_time: ISODate("2025-01-02T11:00:00Z"

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1174238.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

STM32——定时器:通用定时器

定时器归纳总页: STM32——定时器-CSDN博客 三、通用定时器 3.1 通用定时器简介(F1) 通用定时器(F1):TIM2、3、4、5 主要特征: 16位 递增、递减、中心对齐计数器 16为预分频器(预…

STM32——定时器:高级定时器

定时器归纳总页: STM32——定时器-CSDN博客 四、高级定时器 4.1 高级定时器简介 4.2 高级定时器框图(熟悉) 4.3 高级定时器输出指定个数PWM实验 4.3.1 重复计数器特性 再同步:产生于一次更新事件后,RCR寄存器的值会再…

【Java毕设全套源码+文档】基于springboot的健康医疗体检管理系统设计与实现(丰富项目+远程调试+讲解+定制)

博主介绍:✌️码农一枚 ,专注于大学生项目实战开发、讲解和毕业🚢文撰写修改等。全栈领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java、小程序技术领域和毕业项目实战 ✌️技术范围:&am…

吉林市船营昌邑龙潭丰满英语雅思培训辅导机构推荐,2026权威出国雅思课程中心学校口碑排行榜 - 苏木2025

在全球化留学热潮下,雅思考试已成为吉林市船营、昌邑、龙潭、丰满四区学子通往海外名校的重要通行证,但雅思培训市场鱼龙混杂,让众多考生深陷备考困境。多数考生面临着词汇积累与解题能力脱节、口语开口难、写作逻辑…

2026.1.17抽象代数考试

是否存在 \(\mathbb{Q}/\Z\) 的有有限指数 (Index) 的真子群 \(H\)?解 不存在. 设 \(H\le\mathbb{Q}/\Z\) 有有限指数 \(n\), 则 \(n((\mathbb{Q}/Z)/H)=0\), 即 \(forall x\in\mathbb{Q}/Z:n(x+H)=0\), 从而 \(nx\in…

学长亲荐2026专科生必用TOP10AI论文工具测评

学长亲荐2026专科生必用TOP10AI论文工具测评 2026年专科生论文写作工具测评:为何需要一份精准指南? 随着AI技术的不断进步,越来越多的专科生开始借助AI工具提升论文写作效率。然而,面对市场上琳琅满目的论文辅助软件,如…

STM32——MPU(内存保护)

总:STM32——学习总纲 参考资源: 【免费】STmcu选型手册资源资源-CSDN下载 【免费】芯片资料STM32F103ZET6(中文版)资源-CSDN下载 【免费】STM32F1系列参考手册-V10(中)

2026年重庆零基础英语培训机构权威推荐榜单:剑桥英语培训 /线下英语培训 /英语口语培训 /英语补习 /英语学习/ 线上英语培训服务商精选 - 品牌推荐官

在重庆,零基础英语学习者的需求正在快速增长。根据行业相关数据显示,我国零基础英语培训需求年增长率显著。面对从字母、音标开始的初学者,专业的培训机构提供的不仅是知识,更是一套科学的启蒙方法、持续的学习动力…

长春市榆树德惠农安英语雅思培训辅导机构推荐,2026权威出国雅思课程中心学校口碑排行榜 - 苏木2025

基于全网调研数据、长春本地雅思考生真实反馈及权威教育测评体系,本次针对长春市及榆树市、德惠市、农安县区域内的雅思培训辅导机构开展深度测评。在雅思备考赛道中,考生普遍面临优质教育机构筛选迷茫、提分技巧缺失…

2026年广州寻宠找狗服务公司推荐榜:极速寻宠,寻宠全天找狗/寻宠本地找狗/寻宠24小时找狗/寻宠专业找狗工作室/寻宠专业找狗团队/寻宠找狗团队/寻宠30分上门找狗公司精选 - 品牌推荐官

当监控画面中熟悉的身影最后一次消失在小区转角,你开始明白,仅凭焦急的呼唤和盲目寻找,难以赢得这场与时间的赛跑。 在宠物深度融入家庭生活的当下,每一次爱宠走失都是家庭的一场突发危机。据统计,我国城市宠物走…

亲测好用10个AI论文软件,专科生毕业论文轻松搞定!

亲测好用10个AI论文软件,专科生毕业论文轻松搞定! AI 工具让论文写作不再难 在如今的学术环境中,越来越多的专科生开始借助 AI 工具来提升论文写作效率。这些工具不仅能帮助学生快速生成内容,还能有效降低 AIGC(人工智…

吉林市永吉舒兰磐石蛟河桦甸英语雅思培训辅导机构推荐,2026权威出国雅思课程中心学校口碑排行榜 - 苏木2025

在全球化留学热潮持续升温的2026年,雅思成绩已成为吉林市、永吉县、舒兰市、磐石市、蛟河市、桦甸市学子开启海外名校大门的核心凭证,更是职场国际化发展的重要加分项。然而,该区域雅思考生普遍面临诸多备考困境:优…

2048 C++ 游戏 - Sail-With

2048 C++ 游戏程序介绍及相关代码💖游戏简介 这是一款基于C++开发的2048游戏,集成了成就系统、插件扩展、游戏记录、倍速调节等功能,支持Windows控制台运行。代码结构清晰,包含完整的游戏逻辑、界面渲染和扩展接口…

大润发购物卡回收实操步骤详解 - 京顺回收

如今消费方式日益多元,不少家庭手中的大润发购物卡因居住地变更、购物习惯改变等原因,成了“沉睡资源”。据行业统计,超60%的用户都遇到过购物卡未充分利用的情况。下面就为大家系统解析大润发购物卡的回收流程,助…

长春市朝阳南关宽城二道英语雅思培训辅导机构推荐,2026权威出国雅思课程中心学校口碑排行榜 - 苏木2025

在雅思培训领域,长春朝阳、南关、宽城、二道等区域的考生普遍面临诸多痛点:想找到优质的教育机构却陷入选课迷茫,渴望通过权威测评获取靠谱推荐,却难辨各类排行榜与口碑排名的真伪;备考中既需要实用的提分技巧与个…

2026年沈阳评价好的隐形车衣门店怎么选择,汽车车衣/贴太阳膜/汽车贴膜/车衣改色/贴车衣,隐形车衣实体店价格 - 品牌推荐师

随着汽车消费升级与车主养护意识的增强,隐形车衣市场在沈阳乃至全国持续升温。作为一种高性能的物理漆面保护方案,隐形车衣凭借其出色的抗剐蹭、耐腐蚀、防氧化及划痕自修复能力,已成为众多车主,尤其是中高端车型用…

【Java 开发日记】有了解过 SpringBoot 的参数配置吗?有了解过 SpringBoot 的参数配置吗?

一、什么是单调栈?先打破 “栈” 的常规认知提到栈,大家首先想到的是 “先进后出” 的线性结构,而单调栈,顾名思义,就是在普通栈的基础上,给元素加上了 “单调性” 的约束 —— 栈内的元素必须严格保持递增…

长春市绿园双阳九台公主岭英语雅思培训辅导机构推荐,2026权威出国雅思课程中心学校口碑排行榜 - 苏木2025

在雅思培训的备考赛道上,长春市绿园、双阳、九台、公主岭等区域的考生常常面临诸多困境:优质教育机构筛选难度大,缺乏权威的口碑排名参考;不同基础的考生难以找到适配的个性化提分方案,新手迷茫于入门路径,高分冲…

十年沉淀,驱动效果增长:一文读懂昊客网络在百度竞价推广代运营领域的王牌服务与客户价值 - 深圳昊客网络

深圳市昊客网络科技有限公司(简称:昊客网络)。公司成立于2016年,公司现有团队成员三十余人。团队项目经理、运营、文案策划、商务团队经理均在行业内工作15年以上。要让百度竞价推广账户效果好、投产比(ROI)高,…

2025年四川ai学习渠道权威榜单:新媒体学习 /视频号学习/代运营学习 /短视频学习机构精选 - 品牌推荐官

在四川,一家传统制造业企业通过引入数字化营销培训,其新媒体矩阵在三个月内实现了总粉丝量增长超过30%,线上咨询量显著提升。 随着人工智能技术的飞速发展,企业对利用AI技术降本增效的需求日益迫切。在四川,无论是…