我正在一个项目中,如果课程ID不存在,此刻此时必须重定向用户。 这是代码:
router.get('/taller/:id', (req, res) => {
let tallerId = req.params.id;
Taller.findOne({_id: tallerId}).then(taller => {
if(taller) {
res.render('taller');
} else {
res.redirect('/dashboard');
}
});
});
这个想法是,如果在参数中传递的id实际上存在于Talleres集合中,则呈现较高的视图。但是,如果不是,则应将用户重定向到仪表板。
运行具有无效ID的代码时,我得到:
UnhandledPromiseRejectionWarning:CastError:对于路径“ _id”,模型“ Taller”的值“ 5c7d9da0567a653a40295bc}”的对象ID转换失败
在此先感谢您的帮助。 汤姆。
答案 0 :(得分:0)
您没有定义catch块,所以拒绝(即错误)无法处理,请尝试以下代码
router.get('/taller/:id', (req, res) => {
let tallerId = req.params.id;
Taller.findOne({_id: tallerId}).then(taller => {
if(taller) {
res.render('taller');
} else {
res.redirect('/dashboard')
}
});
}).catch(err=>{console.log(err)});