原文: https://beginnersbook.com/2017/09/mongodb-limit-and-skip-method/
在本教程中,我们将学习如何在 MongoDB 查询中使用limit()和skip()方法。
MongoDB 中的limit()方法
此方法限制响应特定查询而返回的文档数。
语法:
db.collection_name.find().limit(number_of_documents)
让我们举一个例子来了解如何使用这种方法。可以说,我有一个集合studentdata,其中包含以下文档:
> db.studentdata.find().pretty(){"_id" : ObjectId("59bf63380be1d7770c3982af"),"student_name" : "Steve","student_id" : 2002,"student_age" : 22}{"_id" : ObjectId("59bf63500be1d7770c3982b0"),"student_name" : "Carol","student_id" : 2003,"student_age" : 22}{"_id" : ObjectId("59bf63650be1d7770c3982b1"),"student_name" : "Tim","student_id" : 2004,"student_age" : 23}
让我们说我想找出所有ID > 2002的学生的名单,我会用一个判断写一个这样的查询:
要了解在查询文档时如何指定条件,请阅读: MongoDB 查询文档
db.studentdata.find({student_id : {$gt:2002}}).pretty()

使用limit()方法限制结果中的文档:
让我说我不希望所有符合条件的文档。我只想选择一些文档,然后我可以使用limit()方法来限制文档的数量。例如,如果我只想输出一个文档,那么我会这样做:
> db.studentdata.find({student_id : {$gt:2002}}).limit(1).pretty(){"_id" : ObjectId("59bf63500be1d7770c3982b0"),"student_name" : "Carol","student_id" : 2003,"student_age" : 22}
MongoDB skip()方法
skip()方法用于在查询结果中跳过给定数量的文档。
要理解skip()方法的使用,让我们采用上面我们看到的相同示例。在上面的例子中,我们可以看到,通过使用limit(1),我们设法只获得一个文档,这是第一个与给定条件匹配的文档。如果您不希望第一个文档符合您的条件,该怎么办?例如,我们有两个文档,其student_id值大于 2002 但是当我们使用limit(1)将结果限制为 1 时,我们得到了第一个文档,为了得到符合此条件的第二个文档,我们可以使用skip(1),这里将跳过第一份文档。
不使用skip():
> db.studentdata.find({student_id : {$gt:2002}}).limit(1).pretty(){"_id" : ObjectId("59bf63500be1d7770c3982b0"),"student_name" : "Carol","student_id" : 2003,"student_age" : 22}
使用skip:
> db.studentdata.find({student_id : {$gt:2002}}).limit(1).skip(1).pretty(){"_id" : ObjectId("59bf63650be1d7770c3982b1"),"student_name" : "Tim","student_id" : 2004,"student_age" : 23}
