有没有办法在sequelize中进行批量升级.此外,我可以指定用于判断重复项的键吗?

我试着跟随,但没有成功:

Employee.bulkCreate(data, {
    updateOnDuplicate: true
});

不过批量创作效果不错.上述语句总是在数据库中创建新条目.

推荐答案

从官方sequelizejs reference.

可以使用bulkCreateupdateOnDuplicate选项来完成.

例如:

Employee.bulkCreate(dataArray, 
    {
        fields:["id", "name", "address"] ,
        updateOnDuplicate: ["name"] 
    } )

updateOnDuplicate是一个字段数组,当主键(或可能是唯一键)与行匹配时,这些字段将被更新.确保在模型和dataArray中至少有一个唯一字段(比如id)用于upsert.

Node.js相关问答推荐

MongoServelSelection错误:服务器 Select 在30000 ms后超时

可以删除一个mongodb catch块

如何使用MongoDB在Node.js 中向数组中添加项?

Sveltekit停靠的应用程序找不到从Build导入的包

Express Web 服务器部署到 prod 但 GET 返回超时错误

如何在MongoDB中删除嵌套对象数组中的属性?

表达 js 错误处理程序在第一个之后被忽略

将 null 推入管道后,node.js 可写完成未发出

如何获取需要加载cheerio的网站部分数据?

为什么要加密 CSRF 令牌?

在新创建的 Angular 工作区上运行 ng lint 时出错

NodeJS 后端发布请求将数据作为NULL值发布到 SQL Server 表

在express js模型中将js转换为Typescript 时Typescript 错误

tsc:当我上传 React+next js 和 node 项目时,在 heroku 找不到

异步函数 - 等待不等待promise

如何在 node 中找到引用站点 URL?

JavaScript 异步编程:promise 与生成器

Node.js - 使用异步库 - 带有对象的 async.foreach

处理快速异步中间件中的错误

如何在 node.js 沙箱中安全地运行用户提交的脚本?