我使用Sequelize將CSV文件中的數據導入到Nodejs系統中,但我在嘗試檢查之前是否插入了前一行時出現問題。在每次插入後遞歸提交
這是代碼我使用
exports.insertEmployee = function (employee) {
return new Promise((fulfill, reject) => {
models.Employee.create(employee)
.then(employee => fulfill(employee.dataValues))
.catch(reject);
});
};
exports.importEmployee = function (employee) {
return new Promise((fulfill, reject) => {
models.Employee.findOne({where: {customID: employee.customID}, raw: true}).then(emp => {
if(emp) {
fulfill(emp);
}
else {
exports.insertEmployee(employee).then(fulfill);
}
});
});
};
功能importEmployee將被調用多次行有像這樣
lines.forEach(line => {
let emp = line.employee;
importEmployee(emp).then(employee => {console.dir(employee)});
});
的問題,我具有CSV是當我檢查是否已經插入了具有相同customID的用戶時,數據庫尚未提交insert,因此它將始終返回false,並且我將使用相同的customID複製員工
我該如何解決這個問題?我嘗試使用交易,但也許我做錯了,因爲它不會幫助。
謝謝!