CouchDB响应失败的方式是什么?

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

基本上每个请求我的应用程序代码向Couch发出请求,然后如果有错误(使用Node),我可以通过logging错误并redirect到404页面或类似的东西来适当地作出响应。 但是,如果我得到一个CouchDB的错误,节点不会认为它是一个错误,它会考虑的数据。 现在对我来说,只要CouchDB只能返回这种格式,

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

具有两个属性的JSON文档,错误和原因。 没关系,我可以parsing它并返回相应的消息; 实际上很优雅。

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

dscape依赖回复代码的信息是正确的,在大多数情况下,你会得到一个errorreason的对象。 批量文件错误是我能想到的唯一的地方,这些都不是真的。 如果只有一个文档失败,那么你仍然会得到一个200,但是你会得到失败的文档对应的数组元素中的error/reason 。 有关更多信息,请参阅文档 。