javascript - Express MongoDB 和 Mongoose 使用 findByIdAndRemove() 删除然后重定向

标签 javascript node.js mongodb express

我目前正在尝试使用 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.idundefined 页面将挂起,因为您没有终止请求/响应周期 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/

相关文章:

javascript - 将指令注入(inject) Controller 最终出现 "[$injector:unpr] Unknown provider"错误

javascript - 我的 Excel 文件中没有显示日期,该文件是使用 Exceljs 在 Nodejs 上创建的

javascript - Mongoose - 无法读取未定义的属性 'push'

node.js - 在mongodb聚合中仅提取$project中键值对中的值

javascript - 在 mongodb JavaScript 控制台中从数组批量插入

javascript - 从控制台获取 javascript 中的输入并存储在数组中,无需换行\n

javascript - D3 Edge Bundling 生成 svg 的边缘全长

reactjs - 使用useEffect React axios获取请求而不会导致无限循环

javascript - 当你点击每个单词/名字时,你是如何得到某些div显示的?

mysql - Node MySQL连接