0

2つのドキュメントを1つずつフェッチしようとしています。テスト目的でbatchSizeを1に設定しました。そして、2番目のドキュメントを取得できません。ただし、batchSizeを2に設定すると、問題なく2番目のドキュメントが返されます。

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);
         });
    });
});
4

1 に答える 1

1

私はこの奇妙でばかげた行動の理由を見つけました。それはたまたま意図的な振る舞いです。 http://docs.mongodb.org/manual/reference/method/cursor.batchSize/

1または負の数を指定することは、limit()メソッドを使用することに似ています。

于 2013-01-11T17:41:37.933 に答える