我有以下Mongo数据库:
db.group:
{id: 1, name:"a"} // index == 1
{id: 2, name:"b"} // index == 2
{id: 13, name:"c"} // index == 3
{id: 14, name:"d"} // index == 4
{id: 51, name:"e"} // index == 5
{id: 52, name:"f"} // index == 6
{id: 61, name:"g"} // index == 7
{id: 88, name:"h"} // index == 8
我正在实施分页,我想从索引4(基于1,不基于零)开始返回3个文档,这将是
{id: 14, name:"d"} // index == 4
{id: 51, name:"e"} // index == 5
{id: 52, name:"f"} // index == 6
我知道我可以使用.limit
来限制返回的记录数量,但是我怎么说limit
应该从索引4开始?
答案 0 :(得分:2)
您可以使用cursor.skip()
:
db.getCollection('group').sort({_id: 1}).skip(3).limit(10)
请注意skip()
不是最有效的数字。您可能希望使用基于范围的分页:
db.getCollection('group').find({_id: {$gt: 13}}).limit(10)