Docs 菜单
Docs 主页
/
MongoDB Manual
/ / /

cursor.limit()

在此页面上

  • 定义
  • 行为
cursor.limit()

重要

mongosh 方法

这是一个 mongosh方法。 这不是Node.js或其他特定于编程语言的驱动程序方法的文档。

在大多数情况下, mongosh方法的工作方式与传统 mongo shell方法相同。 但是,某些旧方法在mongosh中不可用。

有关旧版mongo shell 文档,请参阅相应 MongoDB Server 版本的文档:

有关 MongoDB API 驱动程序,请参阅特定语言的 MongoDB 驱动程序文档。

在游标上使用 limit() 方法,可以指定游标返回的文档的最大数量。limit() 类似于 SQL 数据库中的 LIMIT 语句。

注意

在从数据库检索任何文档之前,必须对游标应用 limit()

使用 limit() 可最大限度地提高性能,并防止 MongoDB 返回的结果超过处理所需的数量。

limit() 方法具有以下原型形式:

db.collection.find(<query>).limit(<number>)

limit() 的行为对于小于 -2 31 和大于 2 31 的值没有定义。

必须为 limit() 指定一个数值。

limit() 值为 0(即.limit(0)) 相当于不设置限制。

负限值与正限值相似,但在返回单个批次结果后将关闭游标。因此,对于负限值,如果有限的结果集不适合单个批次,则收到的文档数量将小于指定的限值。通过传递负限值,客户端可向服务器表明它不会通过 getMore 请求后续批次。

如果将 limit()sort() 一起使用,请务必在排序中至少包含一个包括唯一值的字段,然后再将结果传递给 limit()

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

为确保排序一致,最简单方法是在排序查询中纳入 _id 字段。

有关更多信息,请参阅使用 sort() 方法进行一致排序

当您链接 skip()limit() 时,方法链接顺序不会影响结果。服务器始终会根据排序顺序应用跳过操作,然后再应用对返回文档数量的限制。

以下代码示例展示了 skip()limit() 的不同链接顺序,它们对同一数据集总是产生相同的查询结果:

db.myColl.find().sort({_id: 1}).skip(3).limit(6);
db.myColl.find().sort({_id: 1}).limit(6).skip(3);

后退

游标.itcount

在此页面上