混淆同步网关在Android上拉动复制

时间:2016-03-14 04:48:24

标签: couchbase couchbase-lite

我正在尝试在Android设备上设置基于频道的拉复制。我正在使用Grocery-Sync Android客户端推送一些数据并通过我的Android客户端检索(推送和拉动复制)。

以下是来自同步网关文件的数据库配置:

"cb":{
  "server":"http://172.17.0.5:8091",
  "users": { "GUEST": { "disabled": false, "admin_channels": ["*"] } },
   "allow_empty_password": true,
 "sync":``function(doc){
        if(doc.type == "LatestUpdate"){
                console.log("Inside LatestUpdate");
            channel(doc.kidId);
        }
        else{
            channel(doc.channels);
        }
    }

我在推送Grocery-sync应用程序中的数据时设置了名为kidId的自定义属性(暂时硬编码)。 Push复制工作正常。从日志中可以看出,它甚至可以推送到正确的频道:

Doc "afd8c40b-4431-49ab-be08-c87e409ee912" in channels "{2bea2709e58a49329de59c47d98535b}" 现在,当我从我的应用程序中提取数据时,即使我已经明确设置了不同的通道,日志也表明它仍然提取数据。

这是我的Pull Replication代码:

Replication pull = myApp.getDatabase().createPullReplication(url);
List<String> channels = new ArrayList<>();
channels.add("xyz");
pull.setContinuous(true);
pull.start();
pull.addChangeListener(this);
pull.setChannels(channels);

这是正确的行为还是我的结局不正确?我的假设是Pull复制代码甚至不应该查看来自不同通道的数据。这个假设是否正确?

0 个答案:

没有答案