Маршрут
router.post('/users', (req, res, next) => {
const user = new User()
const { username, email, password } = req.body
user.username = username
user.email = email
user.setPassword(password)
user.save().then(() => res.status(200).send({ user })).catch(next)
})
Метод
User.methods.setPassword = function(password, next) {
bcrypt.hash(password, 10).then(function(hash) {
this.password = hash
}).catch(err => err)
}
Метод должен был захватить пароль, отправленный в теле запроса, хэшировать его и установить поле ввода пароля в пользовательском экземпляре.Несмотря на то, что пароль хэшируется, он не устанавливается.Я думал, что это потому, что я использовал функции стрелок вокруг этого, но это не так.Что я делаю не так?