Я хочу, чтобы пользователь мог изменить свой пароль. Я реализовал маршрут ('/resetPasswd') следующим образом:
UserRouter.route('/resetPasswd')
.post(function (req, res, next) {
passport.authenticate('local', function (err, user, info) {
user.changePassword(req.body.oldPassword, req.body.newPassword, function (err, user) {
if (err) next(err);
res.json('password changes successfully !');
})
})(req, res, next);
});
это то, что я посылаю как тело:
{
"oldpassword": "secret",
"newPassword": "new"
}
Но я получаю эту ошибку в ответ:
{
"message": "user.changePassword is not a function",
"error": {}
}
и это изображение моей схемы:
схема пользователя:
Я не думаю, что мне следует объявлять функцию changePassword в моей схеме (поскольку она предоставляется passport-local-mongoose, хотя я добавил ее, но все равно получаю то же самое ошибка) Какую ошибку я здесь делаю?