【发布时间】:2021-02-10 07:57:53
【问题描述】:
所以我试图有一个架构函数,它使用哈希版本验证密码,但 this 关键字不起作用
userSchema.methods.validPassword = (pwd)=>{
const userPwd = this.password;
console.log(userPwd+' '+pwd);
const pass = bcrypt.compareSync(pwd, userPwd);
return pass;
};
userPwd 返回 undefined ? 我的解决方法是 -
userSchema.methods.validPassword = (user,pwd)=>{
const userPwd = user.password;
console.log(userPwd+' '+pwd);
const pass = bcrypt.compareSync(pwd, userPwd);
return pass;
};
这就是我使用该方法的方式-
if(result.validPassword(result,req.body.password)){
res.redirect('/imgs')
}else{
console.log('User password incorrect');
res.send('G u got da pass wrong')
}
但我想知道为什么这不起作用。 任何帮助将不胜感激
【问题讨论】:
-
你能说明你是怎么称呼它的吗?
标签: node.js mongoose mongoose-schema