Sequelize:批量更新

我正在使用Node.js,MySQL和Sequelize。 我想一次插入一些10k行到表中。 该表具有自定义的primaryKey字段,正在手动设置。 数据从网上下载并重叠。

我想有一个bulkCreate的版本,如果数据中的任何行都有唯一的键已经存在于表中,那么这个版本不会失败。 这样的事情是在MySQL中通过INSERT ... ON DUPLICATE KEY UPDATE结构完成的。

我如何在Sequelize中做到这一点?

将ignoreDuplicates设置为true,将选项对象传递给bulkCreate

 bulkCreate([...], { ignoreDuplicates: true }) 

尤里的答案将忽略重复…有一个选项updateOnDuplicate

如果行键已经存在(重复键更新),更新字段? (只支持mysql和mariadb)。 默认情况下,所有字段都被更新。

http://docs.sequelizejs.com/en/latest/api/model/#bulkcreaterecords-options-promisearrayinstance