【发布时间】:2015-07-10 19:05:21
【问题描述】:
您好,我是 Mongoose 的新手,并尝试使用 pre 命令将字符串中的给定密码转换为哈希值,然后再将其保存到数据库中。我没有收到任何语法错误,但我的密码没有转换为哈希 IDS。
我的控制器代码如下:
User.save(req.body,function(err,data){
if (err) {
res.json({
sucess:false,
exception:err
});
}
else{
res.json({
sucess:true,
User:data
});
}
});
User.pre('save',function(next){
bcrypt.genSalt(SALT_WORK_FACTOR, function(err, salt){
if(err){
return res.json({
success:false,
exception:err
});
}
bcrypt.hash(password, salt, function(err, hash) {
if(err){
return res.json({
success:false,
exception:err
});
}
password=hash;
});
});
next();
});
使用节点检查器我发现命令行没有进入 User.pre 。所以有人可以告诉我我在哪里犯了错误。
【问题讨论】:
-
用户必须是您的架构,是吗?还是模型?替换字符串密码=哈希;到 this.password = hash
-
用户是我代码中的模型。
标签: node.js mongodb mongoose mongodb-query