javascript - 如何解决 Sequelize 更新问题?

标签 javascript mysql node.js express sequelize.js

我使用 MySQL ORM。但是更新方法不起作用。

User.update({
  ResetPasswordToken : resetPasswordToken
},{
  where: {
      UserName: 'testuser'
  }
})

Sequelize 日志:

正在执行(默认):UPDATE Users SET ResetPasswordToken=?,updatedAt=? WHERE 用户名 = ?

最佳答案

根据Sequelize的官方文档,save方法用于更新一个实例。请查看this页面了解更多详情。

文档中已经提到了这一点:

如果您更改实例的某些字段的值,再次调用保存将相应地更新它:


    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']});
    }

关于javascript - 如何解决 Sequelize 更新问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65671048/

相关文章:

javascript - Google Cloud Functions Promises 执行并返回

Mysql高效地以行或列存储动态客户数据

node.js - MongoDB collection.save() 复制对象

c# - 将指定的月数添加到值的 DateTime

javascript - div没有滚动条

mysql - 优化这个 MySQL 查询?

Mysql调优参数

javascript - Node.js 模块、函数未正确导出

javascript - 使用 bodyParser 和 Router() 无法检索表单输入

javascript - jQuery 数组到无序列表