教程 mongodb tutorial

聚合简介与 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 实现复杂数据分析与转换,是强大的数据处理工具。