0
我正在嘗試將教程改編爲另一個項目,以便獲取平均堆棧的掛起並且遇到帖子請求時遇到麻煩。未能在MEAN堆棧應用程序中寫入發佈請求
我'嘗試新的元素添加到陣列的評論:
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);
};
我已看過一些博客文章,但還是不明白怎麼寫該發佈請求數組...任何幫助將不勝感激!
感謝
「如何編寫一個數組,POST請求'有點混亂。顯然你不'添加新的元素到評論陣列',你添加新的文檔到MongoDB集合'課程'。你能檢查這個集合是否有任何改變? – oKonyk
集合中沒有變化。是什麼讓你認爲我在課程中增加了一個元素而不是現場評論? – Puck7
對不起,我的錯。後端代碼看起來很好......我會做幾件事情:if(err){console.log(err)} - 檢查是否有任何信息; console.log(當然),看看我們是否真的在集合中找到任何東西(所有在'Course.findById'塊) – oKonyk