#javascript #node.js #mongodb #express
Вопрос:
Мне интересно, есть ли у кого-нибудь какие-либо предложения о том, как обойти эту ошибку, которую я получаю. Я использую параметры для динамического создания ссылок, однако, когда я публикую новое сообщение в блоге, я получаю ошибку приведения, поскольку оно пытается создать новую ссылку до того, как блог сгенерирует идентификатор. Мой код выглядит следующим образом
router.get("/blog/:id", ensureAuthenticated, (req, res) =gt; { let id = req.params.id; console.log(`id is ${id}`) Blog.findOne({_id: id}) .then((result) =gt; { console.log(`result: ${result}`) res.render("viewPost", { post: result, user: req.user, }); }) .catch((error) =gt; { console.log(error) }) });
router.post("/blog-new", (req, res) =gt; { const blog = new Blog({ title: req.body.title, snippet: req.body.snippet, body: req.body.blog, }) blog.save() .then((result) =gt; { res.redirect("blog/posted"); }) .catch((error) =gt; { console.log(error); }) })
router.get("/blog/posted", ensureAuthenticated, (req, res) =gt; { res.render("blogPosted", { user:req.user, }); });
Комментарии:
1. Можете ли вы показать сообщение об ошибке?
2. Также, пожалуйста, поделитесь
"blog/posted"
маршрутом3. Сообщение об ошибке, которое я получаю, гласит: «Ошибка приведения к объекту: не удалось выполнить приведение к объекту для значения «опубликовано» (строка типа) по пути «_id» для модели «Блог» »