Definition 定义

限制传递到 pipeline 中下一 stage 的文档数量。

$limitstage 的原型形式如下:

  1. { $limit: <positive 64-bit integer> }

$limit需要一个正整数(即大于0),指定要传递的最大文档数。

NOTE 从 MongoDB 5.0 开始,$limitpipeline aggregation 有一个 64 位的整数限制。传递给管道的值如果超过这个限制,将返回一个无效的参数(invalid argument)错误。

Behavior 行为

Using $limit with Sorted Results 对排序结果使用 $limit

如果将$limitstage 与以下任何一项一起使用:

请确保在你的排序中至少包含一个包含唯一值的字段,然后再将结果传递给$limitstage。

对包含重复值的字段进行排序可能会在多次执行中为这些重复的字段返回不一致的排序顺序,特别是当集合正在积极接收写入时。

保证(guarantee)排序一致性(consistency)的最简单方法是在你的排序查询中包含_id字段。

请看下面的内容,了解更多的信息:

TIP 参阅:

参考

https://docs.mongodb.com/manual/reference/operator/aggregation/limit