在我的MEAN堆栈应用程序中,我有2个收藏集-新闻与评论。发表评论后,将首先保存评论,然后更新新闻收藏。
我在express的帮助下使用2个函数,如下所示:
//CommentsController.js
//Function 1
exports.addComment = (req, res, next) => {
const comment = new Comment({
//Key values
});
comment
.save()
.then(createdComment => {
req.createdComment = comment;
next();
})
};
//Function 2
exports.updateNews = (req, res, next) => {
let newsId = req.body.newsId;
let comment = req.createdComment;
News.findById(newsId)
.then(news => {
News.update({ _id: newsId }, {
$push: { comment }
})
.then(item => {
res.status(201).json({
message: "Comment added successfully"
});
})
});
}
我的路由器文件如下:
const express = require("express");
var CommentsController = require('../controllers/commentsController');
const router = express.Router();
router.post("", CommentsController.addComment);
module.exports = router;
我面临的问题是,成功保存addComment之后,即使调用next(),也不会调用“ updateNews”函数。我不确定缺少什么。
答案 0 :(得分:0)
正如@vapurrmaid提到的(在评论中),我找到了自己问题的答案。
答案是:
router.post("", CommentsController.addComment, CommentsController.updateNews);
谢谢@vapurrmaid