MongoDB skip() 函数说明
skip()
函数用于跳过指定数量的文档,返回从指定的偏移量开始的文档。
语法
skip()
函数的语法如下所示:
db.collection.find().skip(number)
参数
skip()
函数的参数如下所示:
参数 | 描述 |
---|---|
number | 要跳过的文档数量。 |
使用方法
例如,假设我们有一个集合 students
,包含一些学生的信息:
db.students.insertMany([
{ name: "Lucy", age: 18, gender: "female" },
{ name: "Tom", age: 20, gender: "male" },
{ name: "Mary", age: 19, gender: "female" },
{ name: "Jack", age: 21, gender: "male" },
{ name: "Lily", age: 18, gender: "female" },
{ name: "John", age: 22, gender: "male" }
])
实例1:从偏移量开始查询所有文档
如果要跳过前面的 2 个文档,从第 3 个文档开始查询,可以使用如下的命令:
db.students.find().skip(2)
执行结果如下:
{ "_id" : ObjectId("6141a0c6a4b32fcce8ec9d94"), "name" : "Mary", "age" : 19, "gender" : "female" }
{ "_id" : ObjectId("6141a0c6a4b32fcce8ec9d95"), "name" : "Jack", "age" : 21, "gender" : "male" }
{ "_id" : ObjectId("6141a0c6a4b32fcce8ec9d96"), "name" : "Lily", "age" : 18, "gender" : "female" }
{ "_id" : ObjectId("6141a0c6a4b32fcce8ec9d97"), "name" : "John", "age" : 22, "gender" : "male" }
结果中,跳过前 2 个文档,从第 3 个文档开始查询。
实例2:限制结果集大小并跳过部分文档
如果要限制结果集大小为 3,同时跳过前面的 2 个文档,可以使用如下的命令:
db.students.find().limit(3).skip(2)
执行结果如下:
{ "_id" : ObjectId("6141a0c6a4b32fcce8ec9d94"), "name" : "Mary", "age" : 19, "gender" : "female" }
{ "_id" : ObjectId("6141a0c6a4b32fcce8ec9d95"), "name" : "Jack", "age" : 21, "gender" : "male" }
{ "_id" : ObjectId("6141a0c6a4b32fcce8ec9d96"), "name" : "Lily", "age" : 18, "gender" : "female" }
结果中,跳过前 2 个文档,只返回后面的 3 个文档。
小结
以上就是 skip()
函数的作用与使用方法的完整攻略。通过 skip()
函数,我们可以跳过指定数量的文档,获取跳过后的文档结果。在查询较大数据集的场景下,该函数可与 limit()
函数组合使用来获取分页结果。