Javascript 无法处理来自应用程序服务器端的错误

Javascript 无法处理来自应用程序服务器端的错误,javascript,node.js,reactjs,express,Javascript,Node.js,Reactjs,Express,我在Exress js中使用mongodb查询,但无法像处理查询一样处理任何错误 db.collection('prowd').deleteOne({_id: ObjectID( id)}, (err, result) => { if (err){return console.log(err)} else res.send(result) }) 即使我的数据库中没有任何“prowd”集合,为什么我在控制台中没有看到任何错误 当我向这个api发出req时,我从react

我在Exress js中使用mongodb查询,但无法像处理查询一样处理任何错误

db.collection('prowd').deleteOne({_id: ObjectID( id)}, (err, result) => {
    if (err){return console.log(err)}
    else res.send(result)
  })
即使我的数据库中没有任何“prowd”集合,为什么我在控制台中没有看到任何错误

当我向这个api发出req时,我从react端得到一条成功消息

 onDeleteProduct(id) {
    axios
      .post("/delete-product", {
        id
      })
      .then(() => {
        Swal.fire({
          icon: "success",
          title: "Product Deleted Successfully !",
          showConfirmButton: false,
          timer: 1500
        });
      })
      .catch(err => {
        Swal.fire({
          icon: "success",
          title: "Task failed !",
          showConfirmButton: false,
          timer: 1500
        });
      });
  }
对于我写的问题,我应该得到

任务失败


查询已成功执行,没有删除任何记录。因此,我们没有错误,这意味着
err==null
,但您可以看到
result.n
将是
0
,这意味着受影响记录的数量

您可以看到以下代码:

db.collection('prowd').deleteOne({u id:ObjectID(id)},(err,result)=>{
if(err){return console.log(err)}
console.log(result.result.n);//=>如果不存在任何记录,则为0
})
关于为什么我们没有任何集合,甚至没有数据库,但是Mongo仍然成功地执行,也就是说Mongo不需要关于集合或数据库存在的约束,它是NoSQL


感谢阅读:D

将console.log替换为responsesorry@LawrenceCherone不起作用,也无法理解:(
catch
用于错误,您需要触发它,在服务器端代码中,只有在成功时才响应
res.send
,您需要使用状态代码进行响应,可能是422或在500范围内,然后触发catch。)。。