我尝试逐个获取两个文档。为了我的测试目的,我将batchSize设置为1。我无法获取第二份文件。但是,当我将batchSize设置为2时,它会返回第二个doc而没有问题。
mongoClient.connect('mongodb://127.0.0.1:27017/mydb?w=1&journal=true&wtimeout=4000',server:{auto_reconnect:true, poolSize:2}}, function(err, db){
var cursor = db.collection('coll').find({},{},{batchSize:1});
cursor.nextObject(function(e, doc)
{
console.log(doc);
//We successfully fetched the first document and now it's time to get the second one
cursor.nextObject(function(e, doc2)
{
//It returns NULL!
console.log(doc2);
});
});
});
答案 0 :(得分:1)
我找到了这种奇怪而愚蠢行为的原因。它恰好是故意行为。 http://docs.mongodb.org/manual/reference/method/cursor.batchSize/
指定1或负数类似于使用limit() 方法