在插入批量数据时,我是否应该在for循环中需要回调或Promise

时间:2018-09-16 16:21:56

标签: javascript node.js for-loop mongoose promise

我有一个具有一百万行的xls,我正在通过Node.js插入MongoDB,这是我正在尝试的代码,

var TR  = require('../models/tr');

var obj = xlsx.parse(__dirname + '/TD.xlsx'); // parses a file
var xl = obj[0]['data']



     for(var i=0; i< xl.length; i++) {
        var row = (xl[i])
        var doc_no = row[0]

            tr.doc_no = doc_no
            tr.save(function (err) {
                  if (err) return res.status(500).send(err);
                  res.send('saved');

                  // saved!
                });



     }

到目前为止,当我用大约100条记录进行测试时,它看起来还不错,它将可以处理数百万条记录吗?恐怕因为for循环的本质是异步的,插入的记录会混乱吗?

0 个答案:

没有答案