# 聚合简介与 aggregate() 方法

URL: https://caijiao.org/mongodb/06-aggregation/01-intro
Source: docs/mongodb/06-aggregation/01-intro.md
Description: 本章节介绍 MongoDB 中聚合操作的基本概念和常用的 aggregate() 方法，帮助用户进行复杂数据处理与分析。

聚合是对集合数据进行过滤、分组、统计和转换的操作，MongoDB 提供强大的聚合框架实现复杂查询。

## 聚合简介

聚合操作类似 SQL 中的 GROUP BY，能够对数据进行多阶段处理，包括筛选、排序、分组、计算等。

## aggregate() 方法

[MongoDB](/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 实现复杂数据分析与转换，是强大的数据处理工具。
