我有一个包含此内容的文本文件
title: A, alert: notice, desc: Starting
title: B, alert: notice, desc: Process Step 1 and 2
Step 1 - Execute
Step 2 - Log
title: C, alert: notice, desc: "Ending"
我想用这种格式将它插入我的mongo db
{
title: A,
alert: notice,
desc: Starting
},
{
title: B,
alert: notice,
desc: Process Step 1 and 2 Step 1 - Execute Step 2 - Log
},
{
title: C,
alert: notice,
desc: Ending
},
我一直在努力寻找可以提供帮助的节点包,但几乎所有的文件阅读器包都只能读取文件而不允许逐行编辑。 例如,如果下一行是缩进的,它应该与前一行合并。
答案 0 :(得分:-1)
这将是一个两步过程。第一个是解析你的文件。它似乎没有任何通用标准(我都知道),因此您可能需要自己编写。
第二部分是将文件写入mongodb。这是一个单独的问题,但如果您按照文档进行操作则相当简单。我建议你试试这些东西然后再问一下你是否有任何问题。
编辑: 这是解析为js对象的文件:https://jsfiddle.net/cyksd7o3/
var fileInput = 'title: A, alert: notice, desc: Starting\ntitle: B, alert: notice, desc: Process Step 1 and 2 Step 1 - Execute Step 2 - Log \ntitle: C, alert: notice, desc: "Ending"';
var parseFile = function(input){
var rows = input.split('\n');
var returnObj = [];
for (var i=0; i < rows.length; i++){
var currRow = rows[i];
returnObj.push(getDataObject(currRow));
}
return returnObj;
};
var getDataObject = function(inputRowString){
var newObject = {};
var propSplit = inputRowString.split(',');
for (var i = 0; i < propSplit.length; i++){
var currSplit = propSplit[i];
var keyValue = currSplit.split(':');
newObject[keyValue[0].replace(/\s/g,'')] = keyValue[1];
}
return newObject;
};
console.dir(parseFile(fileInput));
&#13;