假设我的数据库根据我的查询返回1000条记录。
我想要做的是使用相同的查询,获取前100条记录,然后获得下一条100,依此类推,直到我拥有所有1000条记录。
也就是说,我不想一次性完成所有100条记录。我需要100个批次。
或许这样的事情:
query = {
'$from': 0,
'$to': 100
}
第一个请求后跟
query = {
'$from': 100,
'$to': 200
}
用于下一个请求,依此类推。
我一次不想要所有1000个结果。我希望能够指定开始和结束计数,以便我批量获得结果 - 这可能在mongodb中吗?
答案 0 :(得分:0)
您可以使用skip
和limit
进行查询。
例如......
db.myCollection.find().limit(100) //Get the first 100 records
db.myCollection.find().skip(100).limit(100) //Get the next 100 records
虽然这是一种昂贵的方法,但我更愿意获得所有1000并将它们“分开”在客户端。
这是两个方法文档的链接
http://docs.mongodb.org/manual/reference/method/cursor.skip/
http://docs.mongodb.org/manual/reference/method/cursor.limit/