Mongoose/MongoDB batchSize(30) 仍然返回所有结果

use*_*072 2 mongoose mongodb node.js express

以下查询返回我的所有用户。我希望它会被批量处理。

statics.findAllUsers = function findAllUsers(callback) {
  this.find({}, callback).batchSize(30);
};
Run Code Online (Sandbox Code Playgroud)

g0d*_*kar 5

batchSize()指示驱动程序每次检索一定数量的项目。它仍然会从数据库中获取所有内容,一次只能获取一批。

说得更清楚:如果你使用batchSize(30)then 它会要求 30 个项目,然后当你需要第 31 个项目时,它会查询接下来的 30 个项目,依此类推。

如果您只需要该数量的项目,则使用limit()(并offset()设置哪个是第一个项目)

文档:http : //docs.mongodb.org/manual/reference/method/cursor.batchSize/