0
我有一個非常大的文件,其中包含大量的JSON字符串(超過100K),每行都有一個字符串。讀取大文件並逐行插入Node.JS中的數據庫中
我想讀取每一行,將其插入到數據庫中,並且在插入項目後,我想用初始插入的基本信息更新另一個數據庫中的另一個文檔。而且由於我是一個nodejs newb,所以我在解決我所做的錯誤時遇到了麻煩。這是我到目前爲止。
var lineReader - require("line-reader");
lineReader.eachLine(filePath, function(line, last){
if(count == 1){
asyncAdd(JSON.parse(line));
}
})}
var counter = 0;
function asyncAdd(jsonString){
async.waterfall([
//this function calls the inserter
function(callback){
counter++;
addJson(jsonString, function(doc){
callback(null, doc);
console.log("Added " + counter);
})
},
//This function calls the indexing function
function(doc, callback){
console.log("indexing: " + counter);
updateDBIndex(doc, function(err, savedDocument){
callback(err, savedDocument);
});
}
],
function(err, results){
if(err){
return console.error("Error " + err);
}
console.log("indexed " + counter);
});
}
基本上,如果我的文件看起來像:
{"_id": "1", "item":"glove", "color": "red"}\n
{"_id": "4", "item":"hat", "color" : "red"}\n
{"_id": "6", "item":"hat","color" : "blue"}\n
我希望輸出的樣子, 加1個 索引1 索引1 加2 索引2 索引2 添加3 索引3 索引3
任何幫助w不勝感激!謝謝!
你是什麼意思「數據庫索引」?上面的代碼段輸出了什麼? – Gntem
數據庫索引是我用來跟蹤我插入的所有內容的東西。所以在我的小文件中,我在索引之上會有{「hat」:「2」「glove」:「1」「red」:「2」「blue」:「1」。 –
您是否正在爲此編寫自己的數據庫,或者是我們誤解數據庫軟件的工作原理之一? –