多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
# MongoDB - `limit()`和`skip()`方法 > 原文: [https://beginnersbook.com/2017/09/mongodb-limit-and-skip-method/](https://beginnersbook.com/2017/09/mongodb-limit-and-skip-method/) 在本教程中,我们将学习如何在 MongoDB 查询中使用`limit()`和`skip()`方法。 ## MongoDB 中的`limit()`方法 此方法限制响应特定查询而返回的文档数。 语法: ```js db.collection_name.find().limit(number_of_documents) ``` 让我们举一个例子来了解如何使用这种方法。可以说,我有一个集合`studentdata`,其中包含以下文档: ```js > 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 查询文档](https://beginnersbook.com/2017/09/mongodb-query-document-using-find-method/) ```js db.studentdata.find({student_id : {$gt:2002}}).pretty() ``` ![MongoDB limit method in Query](https://img.kancloud.cn/bb/38/bb38f8ceb4807603866b658c3e1f7de1_498x279.jpg) **使用`limit()`方法限制结果中的文档:** 让我说我不希望所有符合条件的文档。我只想选择一些文档,然后我可以使用`limit()`方法来限制文档的数量。例如,如果我只想输出一个文档,那么我会这样做: ```js > 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()`:** ```js > db.studentdata.find({student_id : {$gt:2002}}).limit(1).pretty() { "_id" : ObjectId("59bf63500be1d7770c3982b0"), "student_name" : "Carol", "student_id" : 2003, "student_age" : 22 } ``` **使用`skip`:** ```js > db.studentdata.find({student_id : {$gt:2002}}).limit(1).skip(1).pretty() { "_id" : ObjectId("59bf63650be1d7770c3982b1"), "student_name" : "Tim", "student_id" : 2004, "student_age" : 23 } ```