登录时的上下文不知道为什么不对?
//controler里面对比密码的地方 User.findOne({name: name}, function (err, user) { if (err) { console.log(err) } if (!user) { console.log('redirect'); return res.redirect('/signup') } console.log(user); user.comparePassword(password, function (err, isMatch) { if (err)console.log(err); console.log(password); if (isMatch) { req.session.user = user console.log('Matched') return res.redirect('/'); } else { //return res.redirect('/signin'); } }) })
//Schema里面function UserSchema.methods = { comparePassword: function(_password, cb) { bcrypt.compare(_password, this.password, function(err, isMatch) { console.log(this); if (err) return cb(err) cb(null, isMatch) }) } }
controler里面
console.log(user)
Schema console.log(this)
求大佬们指点一下