Javascript 无法处理来自应用程序服务器端的错误
我在Exress js中使用mongodb查询,但无法像处理查询一样处理任何错误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
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。)。。