我是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);