Part of "setuppassport.js"
function(req, username,password,done){
console.log("in setduppassport.js");
User.findOne({username:username}, function(err,user){
if(err){
return done(err);
}
if(!user){
return done(null,false,{message:"No user has that id!"});
}
console.log("now check password1");
console.log(user);
var valid=user.checkPassword(password);
if (valid){
done(null, user);
}
else {
done(null, false, {message:'Incorrect Passowrd.'});
}
/*
var valid=user.checkPassword(user_pw){
console.log("i wanna check my password is correct");
if(err){return done(err);}
if(correct){
return done(null,user);
}
return done(null,false,{message:"Invalid password."});
});
*/
});
part of "user.js" in models folder
userSchema.methods.checkPassword= (input)=>{
console.log("checkpassword");
console.log(this);
console.log("this.password =="+this.password);
if (input==this.password){
return true;
}
else{
return false; }
};
When I log "user" in setuppassport.js, I could get the below. { _id: ????, username: 'ju', password: '????', __v: }
But when I console "this" in user.js, I got empty set.
Why node.js cannot recognize this?