有没有办法在 sequelize 中进行批量 upsert。另外,我可以指定用于检查重复项的键吗?
我尝试了以下方法,但没有成功:
Employee.bulkCreate(data, {
updateOnDuplicate: true
});
虽然批量创建工作正常。上面的语句总是在数据库中创建新条目。
最佳答案
来自官方sequelizejs reference .
可以使用带有 updateOnDuplicate
选项的 bulkCreate
来完成。
例如这样:
Employee.bulkCreate(dataArray,
{
fields:["id", "name", "address"] ,
updateOnDuplicate: ["name"]
} )
updateOnDuplicate
是一个字段数组,当主键(或可能是唯一键)匹配行时将更新这些字段。确保您的模型和 dataArray
中至少有一个唯一字段(比如说 id)用于 upsert。
关于node.js - Nodejs Sequelize 批量更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48124949/