【发布时间】:2021-09-11 11:32:07
【问题描述】:
在我的 Node.js API 中,我解析了一个 CSV 文件。我得到所有行以将它们插入数据库。我正在使用 Sequelize 和 Mysql。问题是Sequelize 1分钟后超时,1分钟内处理了1000行,而CSV文件大约有40000行。
在我的程序中,我将所有数据存储在一个对象中,然后我有一个循环将逐行存储在我的数据库中。这是我所拥有的示例:
const csv = require('ya-csv');
const Globale = require('./models/globale.model');
const file = 'myFile.csv';
const result = [];
exports.csvToDb = (req, res) => {
var reader = csv.createCsvFileReader(file, {columnsFromHeader: true, 'separator': ','});
reader.addListener('data', function(data) {
result.push(data);
})
reader.addListener('end', function() {
try {
for (var i = 0; i < result.length; i++) {
Globale.create({
id: result[i].id,
})
.then(() => {
console.log("Record added");
})
.catch(err => {
console.error(err);
})
}
res.status(200).json({ message: 'All record uploaded' });
} catch (err) {
res.status(500).json({ message: err.message });
}
});
};
你有办法更快地处理这个问题吗?和/或延长续集超时?提示
【问题讨论】:
标签: javascript node.js