我知道还有其他类似问题的帖子,但我尝试过的建议都没有奏效。
如果 _id 有效,则以下内容有效,但如果不是,则引发未处理的承诺拒绝错误:
const Movie = mongoose.model(`Movie`, movieSchema);
router.get(`/api/movies/:id`, async (req, res) => {
let movie = await Movie.findById(req.params.id);
if(!movie) {
res.status(404).send(`Movie with given ID not found.`);
return;
};
});
根据文档,如果找不到 id,findById() 似乎应该返回 null,所以我不确定问题是什么。我需要在某个地方放一个catch块并将404放在那里吗?我试过把它放在我能想到的任何地方。