聚合简介与 aggregate() 方法
聚合是对集合数据进行过滤、分组、统计和转换的操作,MongoDB 提供强大的聚合框架实现复杂查询。
聚合简介
聚合操作类似 SQL 中的 GROUP BY,能够对数据进行多阶段处理,包括筛选、排序、分组、计算等。
aggregate() 方法
MongoDB 使用 aggregate() 方法执行聚合管道,管道由多个阶段组成,每个阶段处理并传递数据到下一个。
基本语法
db.collection.aggregate([
{ stage1 },
{ stage2 },
...
])
`
常用聚合阶段示例
$match:过滤文档,类似find查询条件。$group:分组操作,支持计数、求和、平均等。$sort:排序。$project:字段投影,选择显示的字段。$limit和$skip:限制和跳过文档数量。
示例
统计用户按性别分组的数量:
db.users.aggregate([
{ $group: { _id: "$gender", count: { $sum: 1 } } }
])
筛选年龄大于 25 的用户并按年龄排序:
db.users.aggregate([
{ $match: { age: { $gt: 25 } } },
{ $sort: { age: 1 } }
])
通过聚合框架,MongoDB 实现复杂数据分析与转换,是强大的数据处理工具。
相关内容
- 什么是 MongoDB? MongoDB 是一种基于文档的 NoSQL 数据库,使用 BSON 格式存储数据,具有灵活的架构设计,适合海量数据、高并发应用,支持丰富查询与水平扩展。
- MongoDB 与关系型数据库的区别 MongoDB 与关系型数据库在数据模型、扩展性、灵活性和查询方式上存在显著差异,分别适用于不同类型的应用场景和业务需求。
- 使用场景与优势 MongoDB 以其灵活的数据模型、高性能和强大的扩展能力,广泛应用于现代互联网、移动应用、大数据分析等多种场景,具有显著优势。
- 安装 MongoDB(Windows / macOS / Linux / Docker) 本章节详细介绍在 Windows、macOS、Linux 和 Docker 环境下安装 MongoDB 的具体步骤,帮助用户快速搭建数据库环境。
- 使用 MongoDB Compass 和 MongoDB Shell 本章节介绍如何使用 MongoDB 官方的图形化管理工具 Compass 和命令行工具 MongoDB Shell,帮助用户高效管理和操作数据库。
- 数据库与集合的概念 本章节介绍 MongoDB 中数据库和集合的基本概念,帮助理解其数据组织结构及管理方式。