Я пытаюсь работать над частью обзора на веб-сайте обзора / оценки. У нас есть схема мангуста, к которой я добавляю новые отзывы.
Это схема:
var WorkSchema = new mongoose.Schema({
title: String,
genre: String,
workType: String,
length: Number,
ageRange: String,
author: {
id: {
type: mongoose.Schema.Types.ObjectId,
ref: "User"
},
username: String
},
manuscriptText: String,
critiques: [
{
reviewerName: String,
critique: String,
date: {
type: Date,
default: Date.now
}
}
],
ratingNumber: [Number],
ratingSum: {
type: Number,
default: 0
},
date: {
type: Date,
default: Date.now
}
});
Когда пользователь отправляет новый отзыв, это - маршрут поста. Это выдвигает критику к массиву критических замечаний, связанных с работой (подтверждено поиском в mongodb), но я продолжаю получать ошибку ссылки, что "критика" не определена в рендере. Мне нужно повторно обработать рабочую страницу, чтобы рецензент мог видеть, что их критика была добавлена и отображена на переднем крае. Не уверен, почему это происходит, потому что «критика» есть практически везде.
router.post('/:id', function(req, res) {
Work.findByIdAndUpdate(req.params.id,
{
$push:
{
critiques: {
reviewerName: req.user.username,
critique: req.body.critique
}
}
}, { new: true}).populate('works', 'critiques').exec(function(err, foundWork) {
if (err) {
console.log(err);
} else {
res.render('work',
{
user: foundWork,
title: foundWork.title,
critiques: critiques,
currentUser: req.user,
work: foundWork
}
);
}
});
});