Я видел ваш код в github и думаю, что в следующем разделе есть некоторые проблемы. Пожалуйста, добавьте его к своему ответу, если это так.
router.post("/:id/joke/new", (req, res) => {
const newJoke = new Joke({
user: req.body.user,
text: req.body.text,
});
console.log(newJoke);
console.log(Category.findById(req.params.id));
});
Очевидно, что нет никакого добавления-to-db logi c, поэтому с моим mon goose -fu я бы немного изменил некоторые вещи. Также я не вижу в этом методе никаких res.send
или res.json
. Вы можете вернуть созданный обновленный объект как json или любое уведомление об успешном / неудачном завершении.
router.post("/:id/joke/new", (req, res) => {
const { id } = req.params;
const { user, text } = req.body
Category.findById(id)
.then(doc => {
if(doc) {
doc.user = user;
doc.text = text;
doc.save().then(doc => res.json(doc))
return;
}
const newJoke = new Joke({
user,
text,
});
newJoke.save().then(doc => res.json(doc))
})
});
Я не знаю ваш бизнес-домен и могу запутать модели, но я думаю, что некоторые вещи необходимо проверить, а затем создать.