$limit (聚合)
定义
$limit
限制管道中传递到下一阶段的文档数量数量.
兼容性
您可以使用 $limit
来部署以下环境
MongoDB Atlas:云中MongoDB部署的全面托管服务
MongoDB Enterprise:基于订阅的MongoDB自管理版本
MongoDB Community:源代码可用、免费使用和自管理的MongoDB版本
语法
$limit
阶段具有以下原型形式
{ $limit: <positive 64-bit integer> }
$limit
接收一个正整数,指定要传递的最大文档数。
注意
从MongoDB 5.0开始,$limit
管道聚合有64位整数限制。传递给管道的值超过此限制将返回无效参数错误。
行为
使用 $limit 与排序结果
如果在 $limit
阶段与以下任何一个结合使用
的
$sort
聚合阶段,的
sort()
方法,或者将
sort
字段用于findAndModify
命令或findAndModify()
脚本方法,
在将结果传递到 $limit
阶段之前,请确保您的排序中至少包含一个包含唯一值的字段。
对包含重复值的字段进行排序可能会在多次执行中返回不一致的排序顺序,尤其是在集合正在积极接收写入时。
保证排序一致性的最简单方法是包括排序查询中的 _id
字段。
以下是对每个的更多信息
示例
考虑以下示例
db.article.aggregate([ { $limit : 5 } ]);
此操作仅返回由管道传递给它的前5个文档。 $limit
对传递给它的文档内容没有影响。