在javascript中添加方法到对象的不同方法

时间:2014-02-19 00:39:31

标签: javascript node.js mongoose

今天,我在node.js示例中看到了以下代码。让我感到困惑的部分是“userSchema.methods.generateHash = function(password)”。

我认为这只是为userSchema对象添加了一个新方法。但为什么你需要那种方法。

这两者之间有什么区别?

userSchema.generateHash = function(密码)

userSchema.methods.generateHash = function(password)

var userSchema = mongoose.Schema({

    local: {
        email: String,
        password: String,       
    },
    facebook: {
        id: String,
        token: String,
        email: String,
        name: String,
    },
    twitter: {
        id: String,
        token: String,
        displayName: String,
        username: String
    },
    google: {
        id: String,
        token: String,
        email: String,
        name: String
    }
});

userSchema.methods.generateHash = function(password){
    return bcrypt.hashSync(password, bcrypt.genSaltSync(8), null);
};

userSchema.methods.validPassword = function(password){
    return bcrypt.compareSync(password, this.local.password);
};

module.exports = mongoose.model('User', userSchema);

0 个答案:

没有答案