通过Couchbase Sync Gateway与Couchbase Lite同步没有看到任何文件(频道问题?)

时间:2014-04-23 15:44:55

标签: ios couchbase couchbase-lite couchbase-sync-gateway

我正在尝试使用Couchbase Sync Gateway和适用于iOS的Couchbase Lite将Couchbase存储桶从服务器同步到iOS应用。

到目前为止,我正在使用Couchbase附带的“啤酒样本”示例桶。

在我的Ubuntu 12.04 LTS VM上,使用此配置文件启动Couchbase Sync Gateway:

{
   "interface":":4984",
   "adminInterface":":4985",
   "log":["REST"],
   "databases":{
      "sync_gateway":{
         "server":"http://localhost:8091",
         "bucket":"beer-sample",
         "sync":`function(doc) {channel(["public"]);}`,
         "users": {
             "GUEST": {"disabled": false, "admin_channels": ["public"]}
          }
      }
   }
}

我的目的是让它运行而不必担心首先是身份验证,因此是GUEST用户。

我还修改了一些示例,以确保通道分配不依赖于文档,因为示例存储区没有任何通道分配:

"sync":`function(doc) {channel(["public"]);}`,

我将https://github.com/couchbaselabs/ToDoLite-iOS/blob/master/TodoLite7/CBLSyncManager.m中的一些代码包含在我自己的示例项目中,经过一些尝试后,iOS实际上可以连接到连接器。

第168行的NSLog给出了这个输出:

[1026:60b] SYNCMGR: active=0; status=1; 0/0; (null)
[1026:60b] SYNCMGR: active=1; status=3; 0/0; (null)
[1026:60b] SYNCMGR: active=0; status=2; 0/0; (null)

......我对此的解释是同步(0个文件)成功运作。

为什么Couchbase Sync Gateway不会向Couchbase Lite报告任何文档?我显然错过了一些东西。我怀疑频道设置不正确。

任何帮助将不胜感激,如果您的答案解决了我的问题,我会接受它。

1 个答案:

答案 0 :(得分:1)

因为这是从我们的社区门户网站重新发布的,所以我将在这里结束这个问题并重新发布回复帖子,并且应该在我们的社区门户网站上继续提问。

根据您对问题和配置的描述,您仍然需要配置同步网关,让它知道需要同步的现有Couchbase服务器存储桶。

这是我们的Beta 2之后添加的最新功能;我们目前正在处理文档,该文档可在此处过渡:https://github.com/couchbase/sync_gateway/wiki/Bucket-Shadowing

可以在此处找到续线程:http://www.couchbase.com/communities/q-and-a/sync-couchbase-lite-through-couchbase-sync-gateway-doesn%E2%80%99t-see-any-documents-channel-issue