2016-01-10 35 views
0

我盯着用CouchDB构建服务。该应用程序是专为用户有几个原因无限桶,它的工作完美。 由于某些企业功能,现在我已切换到Couchbase。我使用PouchDB,这就是为什么我需要同步网关。很遗憾,我只能映射一个桶/数据库。Couchbase同步网关:每个数据库有多个桶

这将是对我来说是完美的解决方案:/ DB /桶/等

任何想法如何实现这一目标?

回答

5

Couchbase服务器存储桶可容纳任何任意数据。要同步网关,Couchbase服务器存储桶只是存储引擎的目标,并且与用户和数据访问无关。在同步网关配置文件,您可以列出多个数据库坚持到不同的桶:

{ 
    "databases":{ 
    "db1": { 
     "server": "http://localhost:8091", 
     "bucket": "db1bucket" 
    }, 
    "db2": { 
     "server": "http://101.88.47.22:8091", 
     "bucket": "db2bucket" 
    } 
    } 
} 

现在,让我们假设你在配置文件中声明只有一个数据库,并希望让用户可以访问某些文件。您可以使用authentication methods之一,然后根据该编写的Sync Function将文件路由到channels,并授予用户访问这些频道的权限。通道是即时创建的,并且可以创建多少个通道没有限制。如果您不希望使用用户身份验证访问通道中的文档,则可以在客户端指定channel names to the replicator(这更简单)。

建议的方法是使用一个SYNC网关数据库每个项目或应用程序的每个用户反对。因此,您可能必须将来自不同CouchDB数据库的文档迁移到一个Sync Gateway数据库中。

相关问题