MongoDB - 聚合阶段 $match、$sort、$limit
在MongoDB中,$match
、$sort
和$limit
是聚合框架中常用的三个阶段。
$match
:用于过滤文档。它类似于SQL的WHERE。
$sort
:对输入文档进行排序。
$limit
:限制聚合管道中阶段的输出数量。
以下是一个使用这三个阶段的例子,假设我们有一个名为students
的集合,我们想要找到所有分数大于50的学生,按分数降序排列,并只获取前3名。
db.students.aggregate([
{ $match: { score: { $gt: 50 } } }, // 过滤分数大于50的学生
{ $sort: { score: -1 } }, // 按分数降序排列
{ $limit: 3 } // 只获取前3名学生
]);
这个查询首先使用$match
过滤掉分数不满足条件的文档,然后使用$sort
对剩余文档按score
字段降序排列,最后使用$limit
只输出前三个结果。
评论已关闭