1

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ドキュメントが生成されない別の方法がありますか?

4

1 に答える 1

1

応答コードに依存するdscapeの情報は正しく、ほとんどの場合、とを使用してオブジェクトを取得しerrorますreason。バルクドキュメントエラーは、これらのどちらも当てはまらないと私が考えることができる唯一の場所です。1つのドキュメントだけが失敗した場合でも、200を取得しますが、error/reason失敗したドキュメントに対応する配列要素内を取得します。詳細については、ドキュメントを参照してください。

于 2012-06-26T02:26:07.817 に答える