MongoDB 管道聚合(Aggregation Pipelines)

管道聚合

聚合操作让您可以对数据进行分组、排序、执行计算、分析等等。聚合管道可以有一个或多个 "阶段"。这些阶段的顺序很重要。每个阶段都根据前一阶段的结果进行操作。

实例
  1. db.posts.aggregate([
  2. // Stage 1: Only find documents that have more than 1 like
  3. {
  4. $match: { likes: { $gt: 1 } }
  5. },
  6. // Stage 2: Group documents by category and sum each categories likes
  7. {
  8. $group: { _id: "$category", totalLikes: { $sum: "$likes" } }
  9. }
  10. ])

示例数据

为了演示阶段在聚合管道中的使用,我们将把实例数据加载到数据库中。

从 MongoDB Atlas 面板中,转到数据库。单击省略号并选择 "Load Sample Dataset" 加载示例数据集。这将把几个示例数据集加载到数据库中。

在接下来的部分中,我们将使用此示例数据更详细地探讨几个聚合管道阶段。