2016-06-26 19 views
0

私はSequelizeでbcrypt-nodejsを使用しています。私は、ゲストのオブジェクトがデータベースに永続化される前に、ゲストのパスワードをハッシュしようとしているが、これは私のデータベースに保存しない理由を把握することはできません。Sequelizeフック内に保存することができません

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"; 
}); 

ありがとうございました。

答えて

0

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. 
    }) 
    }) 
}); 
:これが機能するようになりましたし、データベースへの持続

関連する問題