我有一个数据库,其中包含餐厅和评论。 评论具有一个 restaurantId 字段,其中包含与 restaurant 的 _id 匹配的 id 强>。我正在尝试创建此路线,以使您可以为特定餐厅撰写评论,并且在创建评论时,该评论的 _id 将自动推送到评论数组餐厅。我尝试了许多不同的解决方案,但没有任何效果,我非常感谢别人的帮助。
app.post("/reviews/create", (req, res) => {
Review.create(req.body).then(review => {
let id = review._id; //sets variable id to the reviews _id
let restaurantId = req.body.restaurantId; //sets variable restaurantId to the reviews restaurant id
updateReviews(restaurantId, id); //call function that updates restaurants review array by passing in restaurantId and id
res.json(review);
// res.json(id);
// res.json(req.body.restaurantId);
});
});
const updateReviews = (restaurantId, reviewId) => {
app.put("/restaurants/update/:id", (req, res) => {
Restaurant.findOneAndUpdate(
{ _id: `${restaurantId}` },
{ $push: { reviews: `${reviewId}` } },
{ new: true }
).then(restaurant => {
res.json(restaurant);
});
});
};