2014-05-22 42 views
0

在我的應用程序中,用戶身份驗證然後進行測驗。我想將測驗結果保存到用戶模式。當我運行下面的,正確的信息打印到控制檯,但儲蓄給我的錯誤:貓鼬模型沒有使用Passport.js「保存」的方法

//Error printing to console: 
User.save(function(err){   ^
TypeError: Object function model(doc, fields, skipId) { 
if (!(this instanceof model)) 
    return new model(doc, fields, skipId); 
Model.call(this, doc, fields, skipId); 
} has no method 'save' 

//update the user with the kitten Type 
app.post('/api/kittens', isLoggedIn, function (req, res, done) { 

    console.log(req.user.kittenType); //an empty set by default 
    console.log(req.body.kittenType); //the quiz result 


    User.findOne({ 'kittenType': req.user.kittenType}, function(err, user) { 
    if(err) 
     return done(err); 

    if(user) { 
     User.kittenType = req.body.kittenType; 
     User.save(function(err){ 
      if(!err){ 
       console.log('yay'); 
      } 
      else { 
       console.log(err); 
      } 
     }); 
     console.log(User.kittenType); 
    } 
}); 
}); 

var userSchema = mongoose.Schema({ 

    user   : { 
     type: mongoose.Schema.ObjectId, 
     ref: 'User' 
    }, 

    kittenType : String, 
    local   : { 
     email  : String, 
     password  : String, 
     petname  : String, 
     path   : String, 
}, 


}); 

回答

0

的問題是資本:

應該是「user.kittenType」和「user.save」不「User.save」