У меня есть экспресс-маршрут, который запускается, когда пользователь щелкает, чтобы отправить новый комментарий в ветку.Маршрут обрабатывает это, помещая новый комментарий в конец списка в объекте mongoose, а затем перенаправляя пользователя обратно на страницу, с которой он пришел.Это должно показать им список всех комментариев, включая тот, который они только что добавили, но это не так.Вместо этого он показывает неизмененный список.Чтобы показать комментарий, который они только что добавили, необходима перезагрузка.
Рассматриваемая функция выглядит следующим образом:
router.post('/get/:faultId/new_comment', function(req, res, next) {
var commenter = req.body.first_name + " " + req.body.last_name;
var comment = req.body.new_comment_text
var datetime = Date.now();
var comment_object = commentCreate(commenter, comment, datetime);
FaultReport
.findOne({
'_id': req.params.faultId
})
.exec(function(err, report) {
if (err) return console.error(err);
report.comment.push(comment_object);
report.save();
});
res.redirect('/api/get/' + req.params.faultId);
});
Я явно что-то неправильно понимаю.Как мне дождаться обновления базы данных, прежде чем перенаправлять пользователя?