当前位置: 首页 > 知识库问答 >
问题:

无法在mongodb node.js中保存数据时返回哪个HTTP状态代码?

佴波鸿
2023-03-14

我正在学习使用节点进行后端开发。js和mongodb。Mongoose有一个方法<code>模型。保存(函数(err,model))由于某些原因无法保存文档时必须返回的状态代码。

在代码方面:

Model.save(function(err,model){
if(err)
    res.status(5xx).send(err);
if(!model) {
    //executed when unable to save document IMHO correct me I am wrong
    res.status(xxx).send("Unable to save the model in database");
}
});

共有2个答案

孙恩
2023-03-14

您可以使用由 4xx 或 5xx 表示的任何代码。使用 2xx 或 3xx 报告错误可防止 http 感知软件进行错误检测。此外,您可以使用以下命令发送特定的错误消息

JSON.stringify(error, undefined, 2);

查看此链接,我在其中解释了此方法的作用https://stackoverflow.com/a/56773148/8284444

祁承嗣
2023-03-14

嗯,这是一个棘手的问题,但我必须告诉你422不是一个有效的状态。

我想你是想说有一个错误,它可能是网络问题,服务未准备好(Mongo down,无响应)或类似的。没有4xx代码来表示,如果您想使用任何4xx,它可能不代表事实。

通常的响应是503,因为它不可用,我想这是你想要交流的。

 类似资料:
  • 问题内容: 我们正在使用Flask作为我们的API之一,我只是想知道是否有人知道如何返回HTTP响应201? 对于诸如404之类的错误,我们可以致电: 但是对于201我得到 LookupError:201都不例外 我是否需要创建自己的例外,像这样的文档? 问题答案: 你可以在这里阅读。

  • 本文向大家介绍HTTP 返回状态码有哪些?相关面试题,主要包含被问及HTTP 返回状态码有哪些?时的应答技巧和注意事项,需要的朋友参考一下 参考回答: 100 Continue 继续。客户端应继续其请求 101 Switching Protocols 切换协议。服务器根据客户端的请求切换协议。只能切换到更高级的协议,例如,切换到HTTP的新版本协议 200 OK 请求成功。一般用于GET与POST

  • 问题内容: 我们正在使用Flask作为我们的API之一,我只是想知道是否有人知道如何返回HTTP响应201? 对于诸如404之类的错误,我们可以致电: 但是对于201我得到 LookupError:201也不例外 我是否需要创建自己的例外,像这样的文档? 问题答案: 您可以在这里阅读。

  • 在成批转换列表时,yield return跳过已签入if条件但由于大小限制而未添加到bucket的对象。 消息总计数:4 第一个存储区计数:2 第二个存储区计数:1 跳过消息列表中的第三条消息 在这里,我正在创建大小为250kb的存储桶。是否有其他方法保存正确的状态,或者是否需要使用for循环?

  • 我使用curl获取http头以查找http状态代码并返回响应。我使用以下命令获取http头

  • 我希望根据响应对象错误动态返回HTTPStatus代码,如400、400、404等。我被提到这个问题--使用Spring3RESTful以编程方式更改http响应状态,但没有帮助。 我有一个带有方法的控制器类 是一个类,其中有上面使用的两个方法(和)。 我不想签入if条件并相应地返回响应代码,有没有其他更好的方法来做到这一点?