2016-07-04 34 views
2

我有一個爲我的Node.js應用程序設置的登錄系統。最近我做了一個改變我的用戶模型(CoffeeScript的):bcrypt-nodejs拋出的'錯誤參數' - 護照

password: String 

password: 
     type: String 
     select: false 

我的函數比較密碼哈希值與bcrypt如下:

userSchema.methods.validPassword = (password) -> 
     bcrypt.compareSync password, @local.password 

現在,每當我運行上述功能引發此錯誤

Incorrect arguments 

任何人有任何想法爲什麼這會拋出後,我的用戶模型中添加「選擇:false」?

回答

-1

檢查密碼的值是否變得populated.setting選擇false將不會檢索密碼的值。

0

如果密碼或@ local.password不是字符串,則會引發此錯誤。它發生在我身上,因爲我試圖在一個實例上調用實例方法,該實例在加載的屬性中不包含@ local.password。

0
userSchema.methods.validPassword = (password) -> 
    bcrypt.compareSync password, @local.password 

假設這是一類,你需要=>而不是->爲了@local工作。