【问题标题】:Mongoose model has no method "save" using Passport.jsMongoose 模型没有使用 Passport.js 的“保存”方法
【发布时间】:2014-07-12 00:56:34
【问题描述】:

在我的应用程序中,用户进行身份验证然后进行测验。我想将测验结果保存到用户模式。当我运行以下命令时,正确的信息会打印到控制台,但保存时会出现错误:

//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,  
},


});

【问题讨论】:

    标签: post mongoose passport.js


    【解决方案1】:

    问题是大写:

    应该是“user.kittenType”和“user.save”而不是“User.save”

    【讨论】:

      猜你喜欢
      • 2014-04-15
      • 1970-01-01
      • 2018-05-31
      • 2012-09-07
      • 1970-01-01
      • 1970-01-01
      • 2015-07-18
      • 2015-11-13
      相关资源
      最近更新 更多