2011-12-30 6 views
2

私はCouchDB更新ハンドラを持っており、通常の文書PUTまたはPOSTと同様の応答を返すようにしたいと考えています。更新がうまくいくと、次の行に沿って何かが起こります。更新ハンドラの応答で新しいリビジョンを返すことはできますか?

{"ok": true, "id": "some_doc_id", "rev": "1-cc44942419c99df052314874d120e316"} 

問題は、アップデートハンドラのJavascriptコードでは、現在のリビジョンにしかアクセスできないということです。の更新が行われた後にバージョンを返すように応答する必要があります。この場合はリビジョン2になります。

私の更新ハンドラの新しいリビジョンに何とかアクセスできますか?

答えて

6

X-Couch-Update-NewRevには、ドキュメントの新しいリビジョンが必要な応答ヘッダーがあります。

は、ここでそれについていくつかの議論を参照してください:私は、更新ハンドラに直接アクセスすることはできません https://issues.apache.org/jira/browse/COUCHDB-1298

0

いいえ、までの更新ハンドラコードが完了するまで更新が行われないためです。あなたのアップデートが成功するかどうかは分かりません(たとえば、アップデートハンドラの起動後にドキュメントが更新された場合、競合して失敗する可能性があります)。

+0

理由は理にかなっています。私は、更新エラーが発生したとき、Couchは独自のエラー応答を返します。リビジョン情報を持つかもしれないアップデートハンドラに対するデフォルトの成功応答はありますか? –

+0

はい、X-Couch-Update-NewRev応答ヘッダーに新しいリビジョンが含まれています。 –

関連する問題