javascript - 如何解决 Sequelize 更新问题?
问题描述
我使用 MySQL ORM。但是更新方法不起作用。
User.update({
ResetPasswordToken : resetPasswordToken
},{
where: {
UserName: 'testuser'
}
})
续集日志:
执行(默认):UPDATE Users
SET ResetPasswordToken
=?, updatedAt
=? 哪里UserName
=?
解决方案
根据 Sequelize 的官方文档,save 方法用于更新实例。请查看此页面以获取更多详细信息。
这已在文档中提到:
如果您更改实例的某些字段的值,再次调用 save 将相应地更新它:
const jane = await User.create({ name: "Jane" });
console.log(jane.name); // "Jane"
jane.name = "Ada";
// the name is still "Jane" in the database
await jane.save();
// Now the name was updated to "Ada" in the database!
同样,您的代码可以写成:
const foo = async (resetPasswordToken) => {
//Finding current instance of the user
const currentUser = await User.findOne({
where:{
UserName: 'testuser'
}
});
//modifying the related field
currentUser.ResetPasswordToken = resetPasswordToken;
//saving the changes
currentUser.save({fields: ['ResetPasswordToken']});
}
推荐阅读
- python - 无法从继承类将项目添加到字典中
- bash - 如何更改我的 bash_profile 以读取和公开我已经在某些脚本文件中定义的所有 func() ?
- javascript - 代码中需要更正哪些内容才能使其在智能手机上运行?
- cordova - Cordova VueJs Webpack 延迟加载在生产中失败
- python - 如何将数据权重包含到 Scipy NNLS 函数中?
- mysql - mysql插入忽略多行插入中已经可用的行
- python - IndexError:字符串索引超出范围 - Python
- html - 在反应材料-ui按钮中自动调整字体大小以获取意外的长内容?
- python - 从python脚本在flutter应用程序中显示数据的有效方法
- android - 无法使用 Flutter 将文件上传到 FirebaseStorage