2014-04-17 73 views
5

Pouch數據庫中是否支持Couchbase Sync Gateway的「通道」? 我希望能夠使用查看整體數據的一個子集,以及他們是否創建新數據以便能夠共享與他們共享的數據。PouchDB中的同步網關「通道」

PouchDB可以嗎?或者我是否必須直接與服務器交互或使用移動設備的couchbase lite?

回答

3

PouchDB模仿CouchDB,它沒有通道的概念,所以沒有計劃在PouchDB中實現它。

但是,解決您的問題的一個簡單方法是將PouchDB同步到CouchDB,然後將其同步到Couchbase Sync Gateway。您需要CouchDB作爲中介的原因是,直接PouchDB < - > Couchbase Sync Gateway同步存在一些問題,儘管希望他們很快就能解決(請參閱,例如thisthis)。

2

這裏是爲了與Couchbase的同步網關袋數據庫客戶端的工作對用戶的渠道解決方案:

var sync = function() { 
    var opts = { 
     live: true, 
     retry: true, 
     //-- from here 
     filter: "sync_gateway/bychannel", 
     query_params: { 
      "channels": channels 
     } 
     //-- to here 
    }; 

    database.sync(syncServer, opts); 
} 

這裏的關鍵是,你只是通過過濾器& query_params因爲無論如何,Sync Gateway都有能力理解這個過濾器。

+0

如果用戶頻道改變了? – jedi

+0

@Jedi:它將具有與Couchbase Lite相同的行爲,其中本地數據庫將開始獲取分配給新通道的數據,但是捕獲的是,您仍將擁有不需要的以前同步的文檔。因此,爲了保持整潔,我們所做的就是清理本地數據庫和重新同步,只獲取新的頻道數據。 –