大佬教程收集整理的这篇文章主要介绍了Mongodb 错误码和对应的 http 状态码,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
因此,如果新用户尝试使用已存在的用户帐户进行注册,MongoDb 会响应 11000 error code
在 Express 中,可以这样处理:
async function signup(req,res,next){
try{
// some stuff
}catch(err){
if (err.code === 11000) {
err.@R_618_8798@ge = 'Email is already taken.';
res.statusCode = 409;
}
return next(err);
}
}
对于这个例子,我决定用 409 http 状态代码来响应。
但是,我不确定这是否是处理来自 MongoDB 的几种不同代码并为每个代码分配 http 状态的好方法。
我还缺少哪些其他解决方案?
您可以针对可能遇到的常见错误返回具体的响应。
但这真的归结为您想要的具体程度。您还需要考虑为每个可能发生的错误定制响应是否真的值得。根据您的配置,其中一些可能永远不会发生。
例如,如果您不使用分片集群,则 ncompatibleShardingConfigVersion
永远不会发生。
此外,如果错误消息应该显示在前端,用户并不真正关心错误的内容、原因和方式。他/她知道这是行不通的,他/她不高兴。
您有多种选择:
使用条件,就像你现在正在做的那样。也许创建一个自定义错误构造函数并将条件放入其中,以避免在每个函数调用中重复自己。
向前端发送带有状态代码 500 的通用错误消息。在后端记录整个错误对象,以便您知道出了什么问题。您是真正关心错误发生的原因、内容、方式和时间的人。
就我个人而言,我会选择选项 2。
以上是大佬教程为你收集整理的Mongodb 错误码和对应的 http 状态码全部内容,希望文章能够帮你解决Mongodb 错误码和对应的 http 状态码所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。