Как распечатать обновленные документы Mongodb в моей консоли с помощью nodejs?

#javascript #node.js

#javascript #node.js

Вопрос:

Я читаю csv-файл, если идентификатор совпадает, он обновит документы в моем mongodb.Но когда я печатаю обновленные документы, печатаются все.ниже приведен код.

 const Account = require('./Account'); 
const parse = require('csv-parse');
const fastcsv = require("fast-csv");
const json2csv = require('json2csv').parse;
var csvWriter = require('csv-write-stream')
var newColumnValue = 'insertsuccessfully'; 
var writer = csvWriter()
let csvData = [];  
var csvData1 = [];
const fs = require('fs');

var name = [];
fs.createReadStream(__dirname   '/node_insert_2_1.csv').pipe(
parse({
    delimiter:',',
    from_line: 2
})
 )
     .on('data',function(dataRow) {
      var customerid = dataRow[1];
       
        Account.findOne({customerId: customerid}).then(
        function(doc)
        {
            if(doc)
            {
                const updatedata =
                 {};

                 updatedata.InternalId=dataRow[0],
                 updatedata.firstname=dataRow[2],
                 updatedata.lastname =dataRow[3],
                 updatedata.email=dataRow[4],
                 
                 updatedata.phone=dataRow[5],
                 updatedata.mobilePhone =dataRow[6],
                 updatedata.primary=dataRow[7]
                const docid = doc._id;
                Account.findByIdAndUpdate(docid,updatedata,{upsert:true}).then(
                             function(doc3)
                             {
                               
                              
                                
                               console.log("Updated User : ", doc3); 
                           
                             }
                               
                        );
            
           
              
             
   
             
             console.log(docid)
             
             }
  

Поскольку я печатаю console.log («Обновленный пользователь: «, doc3); все данные csv печатаются в формате json. Но мне нужны только обновленные данные для печати в моей консоли

Ответ №1:

Функция findByIdAndUpdate вернет весь документ, а не только обновления.

Если ошибки нет, можно с уверенностью предположить, что обновление прошло успешно, поэтому вы могли бы просто распечатать объект updatedata?