MongoDB的聚合框架是处理复杂数据查询的核心工具,通过管道(Pipeline)形式对数据进行分组、过滤、排序等操作。以下是关键知识点:

基础概念

  • 聚合管道:由多个阶段(Stage)组成,每个阶段处理数据并传递给下一个阶段
  • 常用操作符
    • $match:筛选符合条件的文档
    • $group:按指定字段分组
    • $sort:对结果排序
    • $project:调整输出字段格式
    • $limit:限制返回文档数量

示例流程

  1. 使用 $match 过滤数据
    db.collection.find({ status: "A" })
    
  2. 通过 $group 汇总统计
    db.collection.aggregate([
      { $group: { _id: "$category", total: { $sum: 1 } } }
    ])
    
  3. 添加 $sort 排序输出
    { $sort: { total: -1 } }
    

扩展阅读

MongoDB_Aggregation_Framework