当前位置:  开发笔记 > 运维 > 正文

Couchbase Sync Gateway:每个数据库有多个存储桶

如何解决《CouchbaseSyncGateway:每个数据库有多个存储桶》经验,为你挑选了1个好方法。

我盯着用CouchDB建立一个服务.该应用程序旨在让用户拥有无限的存储桶,原因有几个,而且效果很好.现在我因为一些企业功能而转向Couchbase.我正在使用PouchDB,这就是我需要Sync Gateway的原因.可悲的是,我只能映射一个桶/数据库.

这对我来说是一个完美的解决方案:/ db/bucket/etc.

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



1> jamiltz..:

Couchbase服务器存储桶可以保存任意数据.对于Sync Gateway,Couchbase Server存储桶仅是存储引擎目标,与用户和数据访问无关.在Sync Gateway配置文件中,您可以列出持久存储到不同存储桶的多个数据库:

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

现在,我们假设您在配置文件中只声明了一个数据库,并希望用户可以访问某些文档.您可以使用其中一种身份验证方法,然后根据该方法编写一个同步功能,该功能将在通道中路由文档并授予用户对这些通道的访问权限.通道是动态创建的,并且创建的数量没有限制.如果您不希望使用用户身份验证来访问通道中的文档,则可以在客户端为复制器指定通道名称(这更简单).

建议的方法是每个项目或应用程序使用一个Sync Gateway数据库,而不是每个用户.因此,您可能必须将文档从不同的CouchDB数据库迁移到一个Sync Gateway数据库中.

推荐阅读
惬听风吟jyy_802
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有