2016-06-21 68 views
1

因此,我的couchserver上有config.json我的机器上本地运行。Couchbase nodejs如何从同步网关存储桶中检索数据到服务器存储桶

{ 
    "couchbase": { 
     "server": "127.0.0.1:8091", 
     "bucket": "restful-sample", 
     "username": "restful-sample", 
     "password": "123456" 
    } 
} 

而这个syncgw-config.json作为同步网关设置。

{ 
    "interface": ":4987", 
    "adminInterface": ":4988", 
    "log": ["CRUD", "CRUD+", "HTTP", "HTTP+", "Access", "Cache", "Shadow", "Shadow+", "Changes", "Changes+"], 
    "databases": { 
     "mycure": { 
      "server": "http://localhost:8091", 
      "bucket": "sync_gateway", 
      "sync": `function(doc) {channel(doc.channels);}`, 
      "users": { 
       "GUEST": { 
        "disabled": false, 
        "admin_channels": ["*"] 
       } 
      }, 
      "shadow": { 
       "server": "http://localhost:8091", 
       "username": "restful-sample", 
       "bucket": "restful-sample", 
       "password": "123456" 
      } 
     } 
    } 
} 

好消息是,我可以将数据插入到我的restful-sample桶,并将它同步或使用上述同步网关设置“阴影”我的手机。一切工作正常,插入的每个数据都将同步到移动应用程序。

坏消息是,它不工作反之亦然,当我从移动应用的数据不会被自动同步到restful-sample桶添加数据,但这些数据插入到同步网关斗成功。我是否缺少一些配置?我在这里要诚实,我不认为couchbase的文件清楚。

顺便说一句,我跟着这fine cean-stack tutorial万一你想看到服务器上发生的实际查询。

+0

当您说“未自动同步到服务器存储桶”时,您的意思是sync_gateway存储桶还是restful-sample存储桶?你不应该指望它去后者,只有前者。 – borrrden

+0

对不起,对'restful-sample'桶来说,数据被插入'sync_gateway',而不是'restful-sample'。 @borrrden那么我如何让它同步呢? – CENT1PEDE

+1

我想我最后一部分是错的。关于bucket shadowing的维基页面确实意味着它有两种方式。但是,如果您将此用于新项目,您可能会为自己设定很大的悲伤。你有没有考虑过使用PouchDB呢?它是一个与couchbase lite/sync网关兼容的数据库的javascript实现。存储区阴影是将现有数据用于新项目的一种方式,而不是创建新项目。 – borrrden

回答

0

没有很多关于存储桶投影的文档,因为此功能已被弃用。

从服务器访问Sync Gateway数据的推荐方式是利用Sync Gateway REST API。使用此API,您可以执行CRUD操作或access view。这比使用SDK访问Couchbase服务器方便得多,我同意,并且很多功能都是mising(例如N1QL)。

相关问题