如何使用Node JS将CSV中的多行附加到Mongo数据库中字符串字段中的现有数据?

时间:2019-07-08 12:39:58

标签: node.js mongodb

我们有一个包含多行这样的CSV文件。CSV as mentioned below

我们正在从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中有多行时无法添加。

0 个答案:

没有答案