所以rowObject是一个对象数组。我想插入新条目,但是如果数据库中已经存在特定的行字段组合,则更新该条目。
例如:-我的数组对象是这样的
const rowObject= [
{code:"code1", date: "2021-05-13", value:23, point:4},
{code:"code2", date: "2021-05-13", value:24, point:4},
{code:"code2", date: "2021-07-10", value:25, point:4}
]
我想批量插入行,但如果某行有代码 和日期的组合,则更新
例如,如果 {code: "code2", date: "2021-05-13"}已存在于数据库中,则更新数据库中该行的值和点,否则插入新行。
const SRR = require("../models/srr.model");
SRR.bulkCreate(rowObject)
.then((data) => {
if (data[1].dataValues) {
res.send({ msg: "Successfully Added To Db" });
} else {
res.send({ msg: "Error Adding To Db" });
}
})
.catch((err) => {
console.log(err);
res.send({ msg: "Error Adding To Db" });
});
我尝试了upsert和updateOnDuplicate: true但它对我不起作用。任何人都可以在这里帮助我。