node.js - Nodejs Sequelize 批量更新

标签 node.js sequelize.js

有没有办法在 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/

相关文章:

javascript - 无法在适当的时间调用域上的处置

node.js - 什么是 .ntvs_analysis.dat

mysql - 从 Moleculer Framework 中的 mysql 数据库中的 find 方法获取选择字段

javascript - 从多对多关系中获取结果

javascript - promise 执行错误nodejs javascript

node.js - 如何用 Jest 模拟函数 .save() sequelize

node.js - 我无法从 Watson Discovery 收到任何答复

node.js - 发生重复键错误时,Postgres 自动递增

javascript - 继承关联 : set[Models] adds new models instead of associating existing ones

javascript - 在 Sequelize 中导入 instanceMethods 函数时出错