CouchDB响应失败的方式有哪些?

时间:2012-06-25 18:54:36

标签: node.js couchdb express

我正在使用CouchDB作为数据库在express.js框架上构建Node.js应用程序。我正在使用CouchDB的会话api来维护会话状态,以及用于不同数据部分的各种数据库。

基本上每个请求我的应用程序代码向Couch发出请求,然后如果出现错误(使用Node),我可以通过记录错误并重定向到404页面或类似的东西来适当地做出响应。但是如果我得到CouchDB错误,Node就不会认为它是一个错误,它会考虑这些数据。现在,只要CouchDB只能返回这种格式,我就完全没问题了:

{
  "error": "illegal_database_name",
  "reason": "Only lowercase characters (a-z), digits (0-9), and any of the characters _, $, (, ), +, -, and / are allowed. Must begin with a letter."
}

JSON doc,包含两个属性,错误和原因。没关系,我可以解析它并返回相应的消息;实际上相当优雅。

BUT!这就是我对CouchDB的所有期望,还是Couch可能会失败的另一种方式,那就不会产生带有这两个字段(属性)的JSON文档?

1 个答案:

答案 0 :(得分:1)

dscape依赖响应代码的信息是正确的,在大多数情况下,您将获得一个errorreason的对象。大量文档错误是我能想到的唯一一个不存在这些错误的地方。如果只有一个文档失败,那么你仍然会获得200,但是你会得到与失败文档相对应的数组元素中的error/reason。有关详细信息,请参阅the docs