我使用以下代码删除mongodb中的条目
router.delete('/:id', function(req, res) {
Student.findByIdAndRemove(req.params.id, function(err, student) {
if(err) {
console.log(err);
return res.redirect('/students/' + req.params.id);
}
console.log('Deleted student.');
console.log(student);
res.redirect('/students');
});
});
删除通过,因为我不再在数据库中看到它;但是,如果我访问旧页面/ students /:id它会通过而不是重定向,我会收到错误,因为我试图在null对象上使用方法。
router.get('/:id', function(req, res) {
Student.findById(req.params.id, function(err, foundStudent) {
if(err) {
console.log(err);
return res.redirect('/students');
}
res.render('pages/students/show', { student : foundStudent });
});
});
如何让它知道该ID不再存在?
答案 0 :(得分:3)
只有找到学生才能发送给我们。根据你的逻辑,如果没有错误,它将显示'因为没有找到不是错误所以它将转到显示。
router.get('/:id', function(req, res) {
Student.findById(req.params.id, function(err, foundStudent) {
if(err) {
console.log(err);
return res.redirect('/students');
}
if(foundStudent){
res.render('pages/students/show', { student : foundStudent });
}
return res.redirect('/students');
});
});