MEAN Stack应用程序抛出" TypeError:无法读取属性' save'未定义"

时间:2016-03-29 06:09:54

标签: angularjs mongoose mean-stack

我是MEAN的新手,所以我尽量做到尽可能准确。我一步一步地学习了一个小型MEAN Stack应用程序。到目前为止一切正常,除了在AngularJS中查看时进行编辑和保存(使用Restful客户端测试PUT和DELTE并且工作正常)。

根据我收到的错误消息,错误似乎存在于我的一个具有保存功能的控制器中。

我收到的错误是

TypeError: Cannot read property 'save' of undefined
at /Users/xxx/WebstormProjects/cms/controllers/surveysController.js:29:15

贝娄是我的掌控者

require('../models/survey');
var mongoose = require('mongoose');
var _ = require('underscore');
var Survey = mongoose.model("Survey");

exports.post = function(req, res){
var survey = new Survey(req.body);
survey.save();
res.jsonp(survey);
};

exports.get = function(req, res){
    Survey.find().exec(function(err, surveys) {
        res.jsonp(surveys);
    });
};

exports.show = function(req, res){
    Survey.load(req.params.surveysId, function(err, survey){
        res.jsonp(survey);
    });
};

exports.put = function(req, res){
    Survey.load(req.params.surveysId, function(err, survey){

        survey = _.extend(survey, req.body);

        survey.save(function(err){
            res.jsonp(survey);
        });
    });
};

exports.delete = function(req, res){
    Survey.load(req.params.surveysId, function(err, survey){
        survey.remove(function(err){
            res.jsonp(survey);
        });
    });
};

下面的部分似乎有问题,与#34; .save(功能(错误)"在一起。我一步一步地按照教程进行操作,我无法理解这里的问题是什么。如前所述,它在RESTClient中运行良好。

exports.put = function(req, res){
    Survey.load(req.params.surveysId, function(err, survey){

        survey = _.extend(survey, req.body);

        survey.save(function(err){
            res.jsonp(survey);
        });
    });
};

请求架构吼叫

var mongoose = require('mongoose');
var Schema = mongoose.Schema;

var SurveySchema = new Schema({
    created: {
        type: Date,
        default: Date.now
    },
    von: Date,
    titel: String,
    beschreibung: String
});

SurveySchema.statics = {
    load: function(id, cb){
        this.findOne({_id : id}).exec(cb);
    }
};

mongoose.model('Survey', SurveySchema);

0 个答案:

没有答案