我们正在从CSV中读取行中的数据,并希望将其插入MongoDB文档中的现有字符串字段中。我们在Mongo DB文档中有这种格式的数据。
sl: EC|NO|OE|SU|AA,EC|NO|RE|CA|OF,EC|NO|SP|SE|OF
其中ex:“ EC”的每一列(sub1,sub2,...)用“ |”分隔和“,”表示从CSV读取的新行的开头。
我们尝试过的是: 我们将在以下代码中将从CSV读取的数据附加到“ Coalsubs”中。 CSV中有空白列时,它将引发“ undefined”。因此,将“ undefined”替换为空格。
Coaslsubs = bulkData[i].sub1 +"|"+ bulkData[i].sub2 +"|"+ bulkData[i].sub3 +"|"+ bulkData[i].sub4 + "|"+bulkData[i].sub5 +"|"+ bulkData[i].sub6 +"|"+ bulkData[i].sub7 + "|"+bulkData[i].sub8;
Coaslsubs = Coaslsubs.replace('undefined', ''); //
Coaslsubs = Coaslsubs.replace('||', '');
Coaslsubs=","+Coaslsubs; //Add comma at the beginning and Append new row
COASL.aggregate(
[
{ $match: {"coa":"Products"} },
{ $project: { sl: { $concat: [ "$sl", Coaslsubs] } } }
],function(err, added) {
console.log("inside aggregate"+added);
if( err || !added ) {
console.log("Row not added.");
}
else {
console.log("added else :"+added[0].sl);
COASL.update({"coa":"Products"},{$set:
{"sl":added[0].sl}},function(err,abc)
{
});
}
});
我们已成功将单行添加到文档中,但是当CSV中有多行时无法添加。