完整教程:【MongoDB实战】5.2 常用聚合阶段实战

news/2026/1/22 18:51:28/文章来源:https://www.cnblogs.com/ljbguanli/p/19518694

完整教程:【MongoDB实战】5.2 常用聚合阶段实战

文章目录

  • 《MongoDB实战入门》第5章 进阶查询:聚合管道与数据统计分析
    • 5.2 常用聚合阶段实战
      • 前置回顾:测试数据集结构
      • 5.2.1 $match:筛选数据(管道的“前置过滤器”)
        • 核心作用
        • 语法格式
        • 实战案例
        • 关键注意事项
      • 5.2.2 $project:字段投影与重命名
        • 核心作用
        • 语法格式
        • 实战案例
        • 关键注意事项
      • 5.2.3 $group:分组统计(聚合计算核心)
        • 核心作用
        • 语法格式
        • 实战案例
        • `关键注意事项`
      • 5.2.4 $sort:排序聚合结果
        • 核心作用
        • 语法格式
        • 实战案例
        • `关键注意事项`
      • 5.2.5 $limit / $skip:聚合结果分页
        • 核心作用
        • 语法格式
        • 实战案例
        • 关键注意事项
      • 5.2.6 综合实战:多阶段组合实现复杂统计
        • 步骤拆解
        • 实战代码
        • 执行结果
      • 5.2.7 核心总结

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

5.2 常用聚合阶段实战

前置回顾:测试数据集结构

// 快速查看订单集合结构
db.orders.findOne();

在这里插入图片描述

5.2.1 $match:筛选数据(管道的“前置过滤器”)

核心作用
语法格式
{
 $match: {
 <查询条件> } }
实战案例
  • 需求1:筛选“已支付”且订单金额大于1000元的订单
// 仅筛选,不做后续处理
db.orders.aggregate([
{

$match: {

status: "已支付", // 等值匹配
amount: {
 $gt: 1000 } // 金额>1000
}
}
]);

在这里插入图片描述

  • 需求2:筛选2025年1月2日创建的所有订单
db.orders.aggregate([
{

$match: {

create_time: {

$gte: ISODate("2025-01-02T00:00:00Z"),
$lte: ISODate("2025-01-02T23:59:59Z")
}
}
}
]);

在这里插入图片描述

关键注意事项
  • $match应尽可能放在管道起始位置,先过滤再计算;

  • 支持所有find()的查询操作符($eq$gt$in$and等),例如:{ $match: { category: { $in: ["电子产品", "服装"] } } }

5.2.2 $project:字段投影与重命名

核心作用

控制文档的字段显示/隐藏、重命名字段、新增计算字段,重塑文档结构,是聚合管道中“调整输出格式”的核心阶段。

语法格式
{

$project: {

<字段1>: 1/0, // 1=显示,0=隐藏(_id默认显示,需设为0隐藏)<新字段名>: "$原字段名", // 重命名字段<计算字段>: <表达式> // 新增基于原字段的计算字段}}
实战案例
  • 需求1:仅显示订单ID、商品分类、订单金额,并重命名amount订单金额,隐藏_id
db.orders.aggregate([
{
 $match: {
 status: "已支付" } }, // 先筛选
{

$pr

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

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

相关文章

2025–2026 程序员薪资情况浅析

文章中岗位主要设计普通开发、算法、大模型 1. 核心区间总表 说明&#xff1a; 金额均为税前人民币、年薪大致区间&#xff0c;结合了月薪与常见 13–16 薪折算普通开发区间主要参照智联招聘、职场调研报告和大厂职级公开区间综合估算算法 / 大模型区间直接参考智联、猎聘、脉脉…

1月22号

寒假开始之后,按照了指导进行学习。 今天简单学习了一java中的web知识。 以及HTML,css,js之类的东西的设计。

深圳精神科医院哪家最好

在深圳看失眠抑郁精神心理科,“正规、隐私安全、收费透明”是核心诉求,深圳科心大失眠抑郁精神心理专科凭双资质认证、全流程隐私防护、标准化收费,成为兼具专业与安心感的优选。双资质认证,筑牢诊疗安全基石 科心…

《人月神话》阅读笔记第一篇

焦油坑与软件工程的本质——从课程实践看复杂系统的困境 《人月神话》开篇便将软件开发比作“焦油坑”,无数开发者如同陷入泥泞的巨兽,在追求高效构建系统的过程中挣扎前行。作者布鲁克斯直指核心:软件开发的本质困…

冥想第一千七百七十一天(1771)

1.周四&#xff0c;今天回家了&#xff0c;参加了选举&#xff0c;很累&#xff0c;本来今天是跑步日&#xff0c;自我评估还是休息微妙&#xff0c;不是懒惰了&#xff0c;也不是借口&#xff0c;放过自己一次&#xff0c;明天再运动。 2.感谢父母&#xff0c;感谢朋友&#x…

详细介绍:LabVIEW 2018用户登录与管理系统:便捷开发利器

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

强烈安利8个AI论文平台,研究生轻松搞定毕业论文!

强烈安利8个AI论文平台&#xff0c;研究生轻松搞定毕业论文&#xff01; AI 工具让论文写作不再难 在研究生阶段&#xff0c;撰写毕业论文往往成为一项令人头疼的任务。无论是选题、文献综述&#xff0c;还是数据分析与结论撰写&#xff0c;每一个环节都需要大量的时间和精力。…

paperzz毕业论文|AI智能写作引擎颠覆传统,硕士生一键生成3万字高质量论文的终极解决方案

Paperzz-AI官网免费论文查重复率AIGC检测/开题报告/文献综述/论文初稿 paperzz - 毕业论文-AIGC论文检测-AI智能降重-ai智能写作https://www.paperzz.cc/dissertationhttps://www.paperzz.cc/dissertation 你是否还在为硕士论文焦头烂额&#xff1f;开题报告没思路、文献综述写…

程序化广告的隐形脉络:深入解析302跳转背后的追踪逻辑

个人名片 &#x1f393;作者简介&#xff1a;java领域优质创作者 &#x1f310;个人主页&#xff1a;码农阿豪 &#x1f4de;工作室&#xff1a;新空间代码工作室&#xff08;提供各种软件服务) &#x1f48c;个人邮箱&#xff1a;[2435024119qq.com] &#x1f4f1;个人微信&a…

Semantic Kernel人工智能开发 - 第五章:提示词工程与模板优化——释放大语言模型真正潜力

1. 提示词工程核心概念与价值 提示词工程(Prompt Engineering)是与大型语言模型对话的核心接口技术,它通过精心设计的指令、上下文和约束条件,引导LLM生成符合预期的输出。优秀的提示词能够显著提升模型输出的相关…

如何添加新驱动到昆仑通态的软件里面

如何添加新驱动到昆仑通态的软件里面我们有时候

利用Windows电话服务中的RCE漏洞:深入分析CVE-2026-20931

Who’s on the Line? Exploiting RCE in Windows Telephony Service Written by Sergey Bliznyuk on January 19, 2026 几十年来&#xff0c;Windows一直支持计算机电话集成&#xff0c;为应用程序提供管理电话设备、线路和通话的能力。虽然现代部署越来越依赖基于云的电话解决…

InfiniFlow

InfiniFlow 是一家专注于人工智能领域的科技公司&#xff0c;其核心产品围绕 AI 原生数据库和检索增强生成&#xff08;RAG&#xff09;技术构建&#xff0c;旨在为大型语言模型&#xff08;LLM&#xff09;应用提供高效的数据检索与处理能力。- 公司概况&#xff1a;InfiniFlo…

anaconda环境中如何生成requirements

在Anaconda环境中生成requirements.txt文件是一个常见的需求&#xff0c;特别是在需要将项目依赖分享给其他人或者在部署环境时。以下是一些常用的方法来实现这一点&#xff1a;方法1&#xff1a;使用conda list命令1. 导出环境&#xff1a;首先&#xff0c;你可以使用conda en…

SpringBoot+Vue +常规应急物资管理系统平台完整项目源码+SQL脚本+接口文档【Java Web毕设】

摘要 近年来&#xff0c;自然灾害和突发公共事件频发&#xff0c;应急物资管理成为保障社会稳定的重要环节。传统物资管理方式依赖人工操作&#xff0c;效率低下且易出错&#xff0c;难以满足快速响应和精准调配的需求。随着信息技术的发展&#xff0c;数字化管理平台成为解决…

微信小程序构建的三种主流途径及其适用场景解析

鉴于移动互联网不断步入深入发展阶段&#xff0c;微信小程序已然变成连接线上以及线下服务的关键载体。针对众多企业还有商户来讲&#xff0c;有一个功能完备、体验顺畅的小程序&#xff0c;并非是锦上添花之事&#xff0c;而是经营期间的标配。可是呢&#xff0c;面对技术门槛…

2025年总结:一个树苗倔强生长

文章目录引言嫩芽期成长期在Apache seata社区腾讯犀牛鸟在Spring AI Alibaba社区第一份实习对新的一年有什么展望吗在过去的一年有什么后悔的吗总结引言 今年过的真是快&#xff0c;一转眼&#xff0c;就从2025年到2026年了。小时候总以为要到2025很遥远很遥远&#xff0c;记得…

视觉色选机如何实现高速精准分选与产业升级

在现代食品加工行业&#xff0c;农产品精选环节&#xff0c;以及资源回收等领域&#xff0c;保障最终出来的产品有着纯净度&#xff0c;还有一致性&#xff0c;这是核心诉求当中的一个。传统依靠人工进行分拣的那种方式&#xff0c;不光效率是很低的&#xff0c;成本还特别高昂…

C++虚函数与普通函数区别

在 C 中&#xff0c;虚函数&#xff08;virtual function&#xff09;和普通函数&#xff08;non-virtual function&#xff09;在行为机制和用途上有重要区别。下面从多个维度进行对比分析&#xff1a; 一、核心区别概览特性虚函数普通函数动态绑定运行时多态&#xff08;动态…

基于Java+SpringBoot+SSM旅游出行指南系统(源码+LW+调试文档+讲解等)/旅游攻略系统/出行规划工具/旅行指南平台/旅游信息服务系统/出行助手应用

博主介绍 &#x1f497;博主介绍&#xff1a;✌全栈领域优质创作者&#xff0c;专注于Java、小程序、Python技术领域和计算机毕业项目实战✌&#x1f497; &#x1f447;&#x1f3fb; 精彩专栏 推荐订阅&#x1f447;&#x1f3fb; 2025-2026年最新1000个热门Java毕业设计选题…