无法在 Sequelize 挂钩中保存

Unable to save within a Sequelize hook

我正在使用带有 Sequelize 的 bcrypt-nodejs。我试图在来宾对象保存到数据库之前对来宾的密码进行哈希处理,但无法弄清楚为什么这不会保存到我的数据库中:

Guest.beforeCreate(function(guest) {
  bcrypt.genSalt(10, function(error, salt) {
    if (error) { return error }
    bcrypt.hash(guest.password, salt, null, function(error, hash) {
      if (error) { return error }
      guest.password = hash;
    })
  })
});

但是,这样做:

Guest.beforeCreate(function(guest) {
  guest.password = "something";
});

谢谢。

意识到Sequelize提供了一个.save()方法。

这现在有效并保存到数据库中:

Guest.beforeCreate(function(guest) {
  bcrypt.genSalt(10, function(error, salt) {
    if (error) { return error }
    bcrypt.hash(guest.password, salt, null, function(error, hash) {
      if (error) { return error }
      guest.password = hash;
      guest.save(); // Added this line to get it to save.
    })
  })
});