我目前正在尝试使用 DELETE 方法,但似乎 res.redirect 没有触发。
如您所见,我正在尝试使用 findByIdAndRemove() 删除 MongoDB 中的记录:
app.delete("/car", (req, res) => {
Car.findByIdAndRemove(req.body.id, (err, car) => {
res.redirect('/');
});
});
当我通过 Postman 使用 ID 发送 DELETE 请求时,服务器没有响应并且似乎挂起。
知道为什么会发生这种情况吗?我希望它删除 id 为过去的记录,然后重定向到主页。
谢谢
最佳答案
您必须处理 mongodb 返回的错误,如果查询抛出错误或 req.body.id
为 undefined
页面将挂起,因为您没有终止请求/响应周期 sending a response对于客户,这是一个示例:
app.delete("/car", (req, res) => {
Car.findByIdAndRemove(req.body.id, (err, car) => {
// check if query error
if (err) {
console.log(err);
return res.json({ success: false });
}
res.redirect('/');
});
});
关于javascript - Express MongoDB 和 Mongoose 使用 findByIdAndRemove() 删除然后重定向,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48269102/