我现在有一个有效的代码。
await Users.update({ selected: false }, { where: { userId: req.body.userId } });
await Users.update(
{
selected: req.body.selected,
descr: req.body.note
},
{
where:
{
entId: req.body.id,
userId: req.body.userId
}
}
);
但是,如果可以将这两个查询合二为一呢?我需要我传递的“选定”和“注释”字段有条件地在表中更改。并且表中用户固有的所有其他“选定”字段都变为假。不幸的是,我在文档中没有找到类似的东西。预先感谢您的帮助!
最佳答案
不幸的是,Sequelize 中没有像 bulkUpdate
这样的方法,因此您需要调用 update
两次,最好使用事务将这两个查询作为一个原子操作进行。
await Sequelize.transaction(async transaction => {
await Users.update({ selected: false }, { where: { userId: req.body.userId }, transaction });
await Users.update(
{
selected: req.body.selected,
descr: req.body.note
},
{
where:
{
entId: req.body.id,
userId: req.body.userId
},
transaction
}
);
});
关于javascript - 如何将两个更新请求合并为一个?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66909391/