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."
}
エラーと理由の2つのプロパティを持つJSONドキュメント。それは問題ありません。解析して適切なメッセージを返すことができます。実際にはかなり優雅に。
しかし!CouchDBに期待できるのはそれだけですか、それともCouchが失敗する可能性があり、これら2つのフィールド(プロパティ)を持つJSONドキュメントが生成されない別の方法がありますか?