Я пытаюсь хешировать пароль администратора на моем сайте.Я искал и обнаружил, что эта ошибка из-за того, что null
или undefined
является значением, которое мы хотим хэшировать.
Вот мой код, всякий раз, когда я возвращаю console.log (admin), он возвращает{}
, я не знаю почему.
adminSchema.pre('save', (next) => {
var admin = this;
console.log(admin)
bcrypt.hash(admin.password, 10, (err, hash) => {
if (err) return next(err);
admin.password = hash;
next();
});
});
var adminModel = mongoose.model('Admin', adminSchema);
module.exports = adminModel;
код на стороне сервера:
var adminModel = require('./../models/admins');
router.post('/register', (req, res) => {
var newAdmin = {
adminName: req.body.adminName,
faculty: req.body.faculty,
email: req.body.email,
password: req.body.password
}
adminModel.create(newAdmin, (err, admin) => {
if (err) {
console.log('[Admin Registration]: ' + err);
}
else {
console.log('[Admin Registration]: Done');
req.session.adminId = admin._id;
res.redirect('/admin/submitScore')
}
})
});
К сожалению, я не могу найти причину этого console.log (admin) пустой.Буду благодарен, если кто-нибудь сможет мне помочь.