我的问题是我想更新已经存储在 MongoDB 上的用户密码,我无法调用User
. 让我展示一下代码:
用户架构:
userSchema = new Schema({ ... });
userSchema.methods.setPassword = function (passwordPlainText) {
this.passwordHash = createHash(passwordPlainText, this.salt);
};
module.exports = mongoose.model('User', userSchema);
如果我这样做,它工作正常:
user = new User();
user.setPassword('foobar');
但如果我想做这样的事情:
User.findOne({email: req.param('email')}, function (err, user) {
user.setPassword('foobar');
});
它输出:
TypeError: Object #<Object> has no method 'setPassword'
从数据库中检索用户后,有人可以帮我找到一种调用这些模式方法的方法吗?
附加信息:
- 节点 v0.8.4
- 快递 v3.0.4
- 猫鼬模块(http://mongoosejs.com/)