第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定

為什么我總是報user.comparePassword is undefined,寫法和老師一樣,是我mongoose的版本不對么?

正在回答

4 回答

這個跟 mongoose 的版本應(yīng)該沒啥關(guān)系,估計是代碼問題,比對下這兩段看哪里有寫錯沒?


signin 時候的邏輯:

exports.signin?=?function(req,?res)?{
??var?_user?=?req.body.user
??var?name?=?_user.name
??var?password?=?_user.password

??User.findOne({name:?name},?function(err,?user)?{
????if?(err)?{
??????console.log(err)
????}

????if?(!user)?{
??????return?res.redirect('/signup')
????}

????user.comparePassword(password,?function(err,?isMatch)?{
??????if?(err)?{
????????console.log(err)
??????}

??????if?(isMatch)?{
????????req.session.user?=?user

????????return?res.redirect('/')
??????}
??????else?{
????????return?res.redirect('/signin')
??????}
????})
??})
}


schema 里面的靜態(tài)方法定義:

UserSchema.methods?=?{
??comparePassword:?function(_password,?cb)?{
????bcrypt.compare(_password,?this.password,?function(err,?isMatch)?{
??????if?(err)?return?cb(err)

??????cb(null,?isMatch)
????})
??}
}


1 回復(fù) 有任何疑惑可以回復(fù)我~
#1

Phishing 提問者

找到問題了,signin的邏輯里面,我當時看視頻的時候看的是User.find,然后就會報錯,但是根據(jù)你寫的代碼是findOne就不會報錯了
2014-10-10 回復(fù) 有任何疑惑可以回復(fù)我~
#2

Phishing 提問者

能說說直接的區(qū)別么?我在使用Meteor的時候,find出來的是Collection,findOne出來的是Object,mongoose里面是否也是這種區(qū)別?那我要給find()出來的實例加上方法應(yīng)該怎么添加呢?謝謝
2014-10-10 回復(fù) 有任何疑惑可以回復(fù)我~
#3

dragon1204

老師,user.comparePassword(password, function(err, isMatch) { if (err) { console.log(err) } user怎么不是User comparePassword不是User下面的一個實例方法嗎?
2016-04-18 回復(fù) 有任何疑惑可以回復(fù)我~
#4

_蠟筆小新_ 回復(fù) dragon1204

user是實例吧,User是model
2017-07-03 回復(fù) 有任何疑惑可以回復(fù)我~
#5

NodeLoki 回復(fù) Phishing 提問者

確實如此,但是我用兩個應(yīng)運輸出user顯示的的都是一個數(shù)組,不明白為什么會這樣
2018-09-15 回復(fù) 有任何疑惑可以回復(fù)我~
查看2條回復(fù)

我也遇到這個問題了, 視頻中講 ?statics 是靜態(tài)方法 ?可以通過模塊調(diào)用 ,也就是說 ?在某個模塊引入user.js ? ?使用User.xxx 就能調(diào)用到 。 methods 是實例方法 ,使用前 要先進行實例化 ?即 var user = new User(user) , ?我是這樣解決的。。。

1 回復(fù) 有任何疑惑可以回復(fù)我~

就是因為find出來是collection,不能直接使用。

1 回復(fù) 有任何疑惑可以回復(fù)我~

是不是把userSchema.methods寫成了method

0 回復(fù) 有任何疑惑可以回復(fù)我~
#1

qq_水榭二錢乾_03658069

非常感謝
2016-08-31 回復(fù) 有任何疑惑可以回復(fù)我~

舉報

0/150
提交
取消
node建站攻略(二期)——網(wǎng)站升級
  • 參與學(xué)習(xí)       51926    人
  • 解答問題       422    個

幫助你深入前后端開發(fā)留下的迷惑,為進一步自學(xué)打下基礎(chǔ)

進入課程
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號