主题
聚合简介与 aggregate() 方法
聚合是对集合数据进行过滤、分组、统计和转换的操作,MongoDB 提供强大的聚合框架实现复杂查询。
聚合简介
聚合操作类似 SQL 中的 GROUP BY,能够对数据进行多阶段处理,包括筛选、排序、分组、计算等。
aggregate() 方法
MongoDB 使用 aggregate()
方法执行聚合管道,管道由多个阶段组成,每个阶段处理并传递数据到下一个。
基本语法
js
db.collection.aggregate([
{ stage1 },
{ stage2 },
...
])
常用聚合阶段示例
$match
:过滤文档,类似find
查询条件。$group
:分组操作,支持计数、求和、平均等。$sort
:排序。$project
:字段投影,选择显示的字段。$limit
和$skip
:限制和跳过文档数量。
示例
统计用户按性别分组的数量:
js
db.users.aggregate([
{ $group: { _id: "$gender", count: { $sum: 1 } } }
])
筛选年龄大于 25 的用户并按年龄排序:
js
db.users.aggregate([
{ $match: { age: { $gt: 25 } } },
{ $sort: { age: 1 } }
])
通过聚合框架,MongoDB 实现复杂数据分析与转换,是强大的数据处理工具。