私の Android アプリでは、sync_gateway でプル レプリケーションをセットアップしました。
特定のアプリのロジックにより、競合が検出されるたびに、サーバーからレプリケートされたドキュメントのリビジョンだけを保持する必要があります。
どの競合バージョンがレプリケーション (サーバー) からのもので、どれがローカル変更 (モバイル アプリ) からのものかを定義できます。
複製リビジョンからのデータを使用してトゥームストーンと新しいリビジョンを作成すると (これが推奨されるアプローチです)、ローカル リビジョン ID がサーバー上の ID とは常に異なるため、継続的な競合が発生します (選択に使用される新しいリビジョンはすべて、 currentRevision の ID は異なります)。
私の最善の解決策は、サーバーのリビジョンのみを現在のリビジョンとして保持し、他のリビジョンを破棄することです。
これどうやってするの?
リビジョンをパージすることは可能ですか? または、サーバーのリビジョンのみを含むオブジェクトを作成して、競合の解決後に競合のない他のプルがドキュメントを更新するようにすることは可能ですか? オーバーライドに似た動作が必要です。