Pipeline 核心操作符

  • $match:过滤文档,等同于 WHERE
  • $group:分组聚合,等同于 GROUP BY
  • $project:字段投影,选择/重命名字段
  • $sort:排序
  • $lookup:关联查询,等同于 JOIN

示例:统计各分类文章数

db.posts.aggregate([
  { $match: { status: "published" } },
  { $group: { _id: "$category", count: { $sum: 1 } } },
  { $sort: { count: -1 } }
])

$lookup 关联

可以将两个集合的文档关联,但注意 MongoDB 不保证 JOIN 后的性能,大数据量建议在应用层做数据冗余。