2016-03-28 34 views
2

我有这个用例,我在基于10天的滚动时间窗口的同步网关上创建了服务器端视图。有没有办法直接拉我的设备端?可以在客户端拉同步网关视图/复制吗?

当我看的文件,我看没有办法,这些可以直接复制,一个需要做出REST调用:

http://developer.couchbase.com/documentation/mobile/1.2/develop/guides/sync-gateway/accessing-cb-views/index.html

是这样的假设是否正确?

我看到的另一种方法是让所有数据在客户端复制,然后使用Map reduce功能在客户端写入Couchbase lite视图。哪一个是2的正确方法?

回答

0

是的我相信你的假设是正确的 - 必须通过公共REST API直接查询视图。我也相信你的解决方案同步数据,然后在客户端查询它也将工作。

为了找到“正确的做法”我会考虑你的应用需求,并展开工作流程:

  • 在服务器上使用视图将需要:
    • 中的视图管理(CRUD) SG - 类似于管理数据库中的功能。理想情况下,这些将由一些部署/管理代码进行管理。
    • 客户端需要能够对公共接口进行API调用以访问视图信息。这就要求缓存脱机工作。
  • 在本地切片数据意味着同步将关闭所有数据,设备将不得不执行先前由服务器执行的搜索/切片/聚合。这将会:
    • 离线工作。
    • 对应用设备造成潜在的额外压力。

我不认为有任何这里简单的答案 - 理想的意见将被同步到设备,但我不知道这甚至有可能与目前的SG执行。

(注意:必须通过管理REST界面而不是通过Couchbase Web界面在Sync Gateway中创建视图)。

(注2:我是一个服务器端程序员,所以这个观点受到了污染。)

0

我最终什么事做在写网络挂接,这基本上让我复制到Couchbase服务器的同一文档。然后,我做了所有需要的聚合,并推动那些syn syn gatewy(它被复制到应用程序)。

可能或许不对,但适用于我的情况....

相关问题