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에서 업데이트를 수행 한 후 프로그램을 끝내게하려면 어떻게해야합니까?
작동하지 않습니다. 나는 여전히 같은 문제에 직면 해있다. 프로그램이 무기한 실행 됨 –