model.js
var mongoose = require('mongoose');
var userSchema = new mongoose.Schema({
username: ...
});
userSchema.statics = {
fetch: ...
}
userSchema.methods = {
comparePassword: function (_password, cb) {
...
}
}
var user = mongoose.model('user',userSchema);
module.exports = user;
controller.js
var user = require('../models/user');
exports.signin = function (req, res) {
user.findOne(...{
user.comparePassword(password,function (err, isMatch) {
...
})
});
}
请问这里报TypeError:user.comparePassword is not a function
是什么原因?
申明一下我不使用mongoose驱动,所以以下纯属推测。
所以
user
是一个model
。这个model
有一个静态方法叫comparePassword
吗?显然没有,所以你用user.comparePassword
会失败。照你的写法,你应该是想用findOne
找到的对象的comparePassword
方法,这部分被你...
掉了,好好检查一下代码。