我正在尝试将教程改编为另一个项目以获得平均堆栈的挂起并为发布请求遇到麻烦。
我正在尝试向review数组中添加一个新元素:
var CourseSchema = new mongoose.Schema({
code: String,
name: String,
reviews: [{
body: String
}]
在前面我有以下函数来调用课程服务addReview函数:
courses.addReview($scope.course._id, tempReview).success(function (review){
//$scope.course.reviews.push(review);
console.log('addingReview');
});
课程服务addReview功能是:
o.addReview = function (id, review) {
console.log('posting Review')
return $http.post('/courses/'+ id + '/reviews', review );
};
所有这一切都应该没问题,因为我的帖子请求已成功发送到服务器(我在控制台上收到了200条消息)。
以下是我后端的代码:
var Course = mongoose.model('Course');
router.post('/courses/:course/reviews', function ( req, res, next){
Course.findById(req.course, function (err, course){
course.addReview(req.body);
res.json(course);
res.end();
})
});
和我课程模型中的addReview函数:
CourseSchema.methods.addReview = function (review) {
this.reviews.push(review);
this.save(review);
};
我已经阅读了几篇博客文章,但仍然不明白如何写一个数组的帖子请求...任何帮助将不胜感激!
由于
答案 0 :(得分:1)
根据我的理解,我正在进行修改,但没有将其保存在db中,这是我现在使用的代码:
Array