で削除された文書のための複製の競合を解決する公式ドキュメントで推奨複製の競合を解決する方法は次のとおりです。CouchDBの
- (ビュー経由など)ドキュメントの
_conflicts
フィールドを使用して、競合リビジョンを読む - は、すべてのリビジョンのドキュメントを取得します
- を記載されている不要な改正
問題は、私はが文書を削除マージしたいときに来ます。彼らは、しかし_deleted_conflicts
で、_conflicts
フィールドに表示されません。私は_conflicts
フィールドを使用してマージし、文書をローカルデータベースに削除され、リモートレプリカで編集されている場合は、レプリケーションでローカルに復活されます。削除された文書を関係なく、それはと競合する編集内容の削除ままに:私のアプリケーション・モデルは、合併時に削除が常に優先されることを前提としています。
一見すると、最も簡単なことは、_deleted_conflicts
が空でないことをチェックし、空でない場合は、文書を削除するかどうかです。うーん...これに伴う問題は、これはステップ#4で編集の競合を解決することによって、導入された削除されたリビジョンを含んでいてもよいということなので、_deleted_conflicts
の意味は、この場合にはあいまいです。
削除されたとして、文書をマークし、アプリケーション層でのフィルタリングなどの総額をやっ含まないのCouchDB(もしあれば)で削除競合を処理する標準的な方法は何ですか?