在我的NodeJS應用程序,用戶貓鼬架構裏面我有這樣的方法:爲什麼我收到'對象不是函數'?
/*
* Passport-Local Mongoose will add a username, hash and salt field to store the username, the hashed password and the salt value.
*/
var User = new Schema({
email: String,
token: String,
twitter: {
id: String,
token: String,
displayName: String,
}
});
/*
* Find user by twitter id.
*/
User.statics.findOrCreateByTwitterId = function (token, tokenSecret, profile, fn) {
this.findOne({
'twitter.id': profile.id
}, function (err, user) {
if (err) return fn(err, null);
if (user) {
return fn(null, user)
};
// create user
var newUser = new User();
newUser.username = profile.username;
newUser.twitter.id = profile.id;
newUser.token = token;
newUser.displayName = profile.displayName;
// create user
newUser.save(function (err) {
if (err) {
return fn(null, null);
}
return fn(null, newUser)
});
});
};
User.plugin(passportLocalMongoose);
module.exports = mongoose.model('User', User);
當它被稱爲我收到:
2015-02-24T07:47:24.162Z - debug: Mongoose: - users - findOne - { 'twitter.id': '90411931' }
2015-02-24T07:47:24.327Z - error: Caught exception: TypeError: object is not a function
,其中第32行是:
var newUser = new User();
待辦事項你看到任何問題?
我想......我們需要看到更多的代碼.. 。特別是你創建你的用戶的地方。 – 2015-02-24 07:51:57
錯誤提示'用戶'不是對函數的引用,而是對變量的引用 – 2015-02-24 07:52:20
@SarveshKumarSingh更新了我的問題。 – 2015-02-24 07:53:16