MongoDB的聚合框架是处理复杂数据查询的核心工具,通过管道(Pipeline)形式对数据进行分组、过滤、排序等操作。以下是关键知识点:
基础概念
- 聚合管道:由多个阶段(Stage)组成,每个阶段处理数据并传递给下一个阶段
- 常用操作符:
$match
:筛选符合条件的文档$group
:按指定字段分组$sort
:对结果排序$project
:调整输出字段格式$limit
:限制返回文档数量
示例流程
- 使用
$match
过滤数据db.collection.find({ status: "A" })
- 通过
$group
汇总统计db.collection.aggregate([ { $group: { _id: "$category", total: { $sum: 1 } } } ])
- 添加
$sort
排序输出{ $sort: { total: -1 } }