我正在使用mongojs更新MongoDB集合中的數據。該程序逐行讀取一個文件,併爲每行在mongodb數據庫中進行更新。更新工作正常,但控件不會返回。Mongojs回調不返回
var fs = require('fs')
var reader = require('buffered-reader');
var dataReader = reader.DataReader;
var mongojs = require('mongojs')
var db = mongojs.connect('testdb');
var col = db.collection('testCollection');
var file = "sample.txt";
var loadData = function (line) {
record = line.split(",");
rec_key = record[1];
col.update(
{rec_key: rec_key},
{rec_key: rec_key,
data: 5678},
{upsert:true}, function(err){});
}
new dataReader (file, { encoding: "utf8" })
.on ("error", function(error){
console.log ("error: " + error);
})
.on ("line", loadData)
.on ("end", function (end){
console.log("EOF");
}).read();
從節點運行完這個之後,控件不會返回。該程序無限期運行。如果我在dataReader中註釋loadData函數,它可以正常工作,程序在遍歷所有行後結束。
如何通過迭代遍歷所有行並在mongodb中進行更新來使程序結束?
不起作用。我仍然面臨同樣的問題。程序無限期運行 –