我刚开始使用node.js,而在我写的一个小程序中,我在尝试传递变量时遇到了问题。
我有一个函数,我传递了一个从文件中读取的行。在该函数中创建该行的Mongoose模型并尝试将其保存到数据库中。这样工作正常,但是如果数据出现问题并且无法保存到数据库,我希望将其保存到文本文件中。
我添加了一个保存到文件的调用,文件被创建但始终为空。调试代码时,将显示控制台消息,并且在执行行中的该点处显示为空字符串。这是传递值的正确方法吗?
var parseRecord = function (line) {
var arrayOfString = line.toString().split(" ");
if (arrayOfString[0].substr(0,1) != '#'){
var dbRecord = new LogEntry({
logDateTime: arrayOfString[0] + ' ' + arrayOfString[1],
serverIP: arrayOfString[2],
requestMethod: arrayOfString[3],
uriStem: arrayOfString[4],
serverPort:arrayOfString[6],
clientIP:arrayOfString[8],
browserType:arrayOfString[9],
referrerSite:arrayOfString[10],
httpStatus:arrayOfString[11],
bytesSent:arrayOfString[12],
bytesReceived:arrayOfString[13],
elapsedTime:arrayOfString[14]
});
dbRecord.save(function (err) {
if (err) {
// console.log("Skipped one record");
// console.log("This is the skipped line:" + bufferedLine);
fs.appendFile('skippedRecords.txt', line, function (err) {
if (err)
console.log("Could not write skipped record");
});
//skippedRecords++;
} else {
//insertedRecords++;
}
})
//dbRecord.print();
}
}
感谢您的任何建议。 --md