Переменная не определена с помощью bcryptjs в Express - PullRequest
0 голосов
/ 10 декабря 2018

Я пытаюсь настроить функциональность регистрации в моем приложении, используя Express и bcrypt, но у меня есть проблема.Я выполнил шаги, чтобы зашифровать мои пароли, но моя переменная newUser не определена.В чем проблема?

    /

/ Register Form POST
const bcrypt = require('bcryptjs');
    router.post('/register', (req, res) => {
        const newUser = newUser ({
            name: req.body.name,
            surname: req.body.surname,
            email: req.body.email,
            password: req.body.password
        });
        bcrypt.genSalt(10, (err, salt) => {
            bcrypt.hash(newUser.password, salt, (err, hash) => {
                if(err) throw err;
                newUser.password = hash;
                newUser.save()
                    .then(user => {
                        req.flash('success msg', 'Vous êtes maintenant enregistré et pouvez vous connecter.');
                        res.redirect('/app');
                    })
                    .catch(err => {
                        console.log(err);
                        return;
                    });
            });
        });
    });

Ответы [ 2 ]

0 голосов
/ 10 декабря 2018

выглядит как простая опечатка.const newUser = newUser ({ должно быть const newUser = new User({

new - это ключевое слово, которое создает объекты из классов, в данном случае модель

0 голосов
/ 10 декабря 2018

Вы назначаете newUser как функцию.Но, если newUser - схема Мангуста, то правильный подход:

const newUser = new newUser({
 name: req.body.name,
 surname: req.body.surname,
 email: req.body.email,
 password: req.body.password  
});
...