2016-07-26 22 views
0

私は、文書タイプをチェックし、複製ステータスに対して真または偽を返すサーバー側フィルター(javascript:function(doc, req))セットアップを持っています。私はDocumentBを複製するかどうかを決定するためにDocumentAと言う文書の内容を調べなければならないシナリオを持っています。しかし、docがjavascriptに渡される順序はありません。例えばDocumentBはDocumentAの前に同期するために到着することができます。この時点では、DocumentAの知識なしにreturnに何を知りません。どうすればこれを達成できますか?CouchBase Liteフィルター複製順序付け/順序付け

+0

このサーバー側のフィルタはどこで設定していますか?私が知っていた限り、同期ゲートウェイはカスタムレプリケーションフィルタのサーバー側を書き込む能力を持っていません。 sync_gateway/bychannelと_doc_idsのみをサポートしています。以下のフィルタパラメータを参照してください:http://developer.couchbase.com/documentation/mobile/current/develop/references/sync-gateway/rest-api/database-public/get-changes/index.html –

+0

さらに、Couchbase Liteのみクライアント側のフィルタまたはチャネルとドキュメントIDをサポートしています。 –

+0

私はsync_gatewayではなく、フィルター処理されたレプリケーションを使用しています。フィルタ関数が設計文書にあります – Nagesh

答えて

0

まず、フィルタリングについてです。チャネルとドキュメントIDでフィルタリングできます。 docs(v1.2以降)の関連セクションは次のとおりです。

レプリケーションでは、どのドキュメントを転送するかを制限するフィルタを設定できます。これは、デバイスにダウンロードされる大規模なリモートデータベースの量を制限したり、一部のローカルドキュメントを非公開にするのに便利です。 Couchbase Sync Gatewayで使用される特殊なタイプのフィルタは、プルレプリケーションからダウンロードされる一連のチャネルです。明示的なドキュメントIDのセットにレプリケーションを制限することもできます。

解決策の1つは、特定のドキュメントタイプ(DocumentA)用のチャネルと、他のドキュメント用のチャネルを設定することです。次に、ワンショット複製を使用して順序を保証します。

関連する問題