2017-09-07 14 views
0

私はMongooseとNode JSを使い慣れていないため、ユーザーが更新された後にパスワードが再度ハッシュされるというこの問題があります。mongooseのパスワードが2回ハッシュされる

ここでハッシュのためのコードです:

UserSchema.pre('save', function (next) { 
    var user = this; 
    bcrypt.hash(user.password, 10, function (err, hash) { 
     if (err) { 
      return next(err); 
     } 
     user.password = hash; 
     next(); 
    }) 
}); 

、これは私がpresaveは、ユーザーの更新に呼ばれるように防止する必要があることを理解し、ユーザー

router.post('/insert', function (req, res) { 
    User.findById(req.session.userId, function (err, user) { 

     if (err) { throw err; } 
     if (user) { 
      user.patients = req.body.patients 
      user.diagnosis_list = req.body.diagnosis_list 
      user.medicine_dose_list = req.body.medicine_dose_list 
      user.medicine_list = req.body.medicine_list 

      user.save(function (err) { 
       if (err) throw err; 
       res.send(user.toJSON()); 
      }) 
     } 
    }) 
}) 

を更新するためである、ちょうど私がどのようにそれを行う手がかりがありません。多分プリセットが呼ばれていなくてもユーザーをアップデートできる他の方法はありますか?

答えて

関連する問題