MongoDB 管道聚合(Aggregation Pipelines)
管道聚合
聚合操作让您可以对数据进行分组、排序、执行计算、分析等等。聚合管道可以有一个或多个 "阶段"。这些阶段的顺序很重要。每个阶段都根据前一阶段的结果进行操作。
实例
db.posts.aggregate([
// Stage 1: Only find documents that have more than 1 like
{
$match: { likes: { $gt: 1 } }
},
// Stage 2: Group documents by category and sum each categories likes
{
$group: { _id: "$category", totalLikes: { $sum: "$likes" } }
}
])
示例数据
为了演示阶段在聚合管道中的使用,我们将把实例数据加载到数据库中。
从 MongoDB Atlas 面板中,转到数据库。单击省略号并选择 "Load Sample Dataset" 加载示例数据集。这将把几个示例数据集加载到数据库中。
在接下来的部分中,我们将使用此示例数据更详细地探讨几个聚合管道阶段。