2016-07-26 79 views
0

我有一個服務器端篩選器(javascript:function(doc, req))設置,它檢查文檔類型併爲複製狀態返回true或false。我有一個場景,爲了決定是否要複製DocumentB,我必須檢查DocumentA的內容並說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。請參閱:http://developer.couchbase.com/documentation/mobile/current/develop/references/couchbase-lite/couchbase-lite/replication/replication/index.html –

+0

我正在使用過濾複製而不是sync_gateway。篩選功能在設計文檔 – Nagesh

回答

0

首先,關於過濾。您可以按頻道和文檔ID進行過濾。以下是docs(自v1.2開始)的相關部分:

複製可以使用過濾器來限制他們將要傳輸的文檔。這對於限制下載到設備的大型遠程數據庫的數量或者保留一些本地文檔保密是有用的。與Couchbase Sync Gateway一起使用的特殊類型的過濾器是拉複製將從其下載的一組通道。還可以將複製限制爲一組明確的文檔ID。

根據您的描述,一個解決方案可能是建立用於特定文檔類型(您的文獻展),用於您的其他文檔的信道,而另一個。然後,使用一次性複製來保證排序。