所以。我有一個非常基本的腳本,它連接到一個數據庫,並在包含大量文檔的集合上執行find
並將其限制爲3個項目。除了在我的結果結尾處,一切都運行平穩,一個null
和腳本不會終止,而不是在成功完成後悄然關閉連接。node-mongodb-native - 遊標在每次調用期間返回null作爲最後一個值
在這裏我聲明我的PARAMS和創建我的數據庫對象:
var SERVER = 'localhost',
PORT = 27017,
DATABASE = 'test',
COLLECTION = 'coll',
mongo = require('mongodb'),
db = new mongo.Db(DATABASE,
new mongo.Server(SERVER, PORT, {auto_reconnect: true}),
{});
在這裏,我連接到數據庫,並進行了find
光標和each
功能進行查詢:
db.open(function(err, db) {
if(err) throw err;
var collection = new mongo.Collection(db, COLLECTION),
cursor = collection.find({}, {}).limit(3);
cursor.each(function(err, doc) {
if(err) throw err;
console.log(doc);
});
db.close();
});
結果很不錯:
{ _id: '1',
a: 'first object' }
{ _id: '2',
a: 'second object' }
{ _id: '3',
a: 'third object' }
直到出現
null
出現。
如上所述,腳本然後繼續不終止。
我不明白爲什麼,並會很高興指示如何使它很好地終止。
這應該是實際的答案。 – Julian
甚至,在調用cursor.each期間,我得到一個null作爲最後一個值。 nodejs版本:0.12.9,mongodb ddriver版本:^ 2.2.33。很好,我看到了這個答案。 –