1
以下查询返回所有我的用户。我希望能够批量生产。Mongoose/MongoDB batchSize(30)仍然返回所有结果
statics.findAllUsers = function findAllUsers(callback) {
this.find({}, callback).batchSize(30);
};
以下查询返回所有我的用户。我希望能够批量生产。Mongoose/MongoDB batchSize(30)仍然返回所有结果
statics.findAllUsers = function findAllUsers(callback) {
this.find({}, callback).batchSize(30);
};
batchSize()
指示驱动器能够获取一定数量的单位时间的项目。它仍然会从数据库中获取所有内容,但一次只能获得一批。
为了更清楚:如果您使用batchSize(30)
那么它会要求30个项目,然后,当您需要第31个时,它会查询下一个30等等。
如果您只需要该数量的项目,然后用limit()
(和offset()
设置这是第一项)
文档:http://docs.mongodb.org/manual/reference/method/cursor.batchSize/
你有没有尝试过'find'放置'batchSize'?像这样:'this.batchSize(30).find({},callback);'。让我知道这是否有效。 –
试过,但得到了意想不到的errorObject函数模型(doc,fields,skipId){if(!(this instanceof model)) return new model(doc,fields,skipId); Model.call(this,doc,fields,skipId); }没有方法'batchSize' – user3554072
你确定你不想[限制(30)'](http://mongoosejs.com/docs/api.html#query_Query-limit)代替吗? – JohnnyHK