【问题标题】:A Good Point to Create Design Documents in CouchDb在 CouchDb 中创建设计文档的好方法
【发布时间】:2018-03-14 11:15:19
【问题描述】:

我有一个运行 peruser 数据库配置的 CouchDb 实例。

生成的每个用户数据库(当用户添加到_users 数据库时)需要具有相同的设计文档以及视图/列表逻辑等。

在创建数据库时将设计文档添加到数据库的实际方法是什么?是否只是在成功的用户创建请求后添加它们?还是在 CouchDb 中有更优雅的方式来做到这一点?

【问题讨论】:

    标签: couchdb design-documents


    【解决方案1】:

    没有初始化新创建的用户数据库的机制,您应该将其包含在您的用户创建逻辑中。 如果你想解耦用户创建和db初始化,我建议你探索以下策略

    1 - 创建一个模板数据库,并在其上放置应应用于每个用户数据库的设计文档

    2 - 连续监听 _db_updates 端点,将通知数据库级别的事件。 This 图书馆可以帮助你。

    3 - 创建与用户数据库名称模式匹配的数据库时,您可以使用 _replicate 端点触发从模板数据库到新创建的数据库的复制。

    【讨论】:

    • 谢谢 - 一个很好的策略。另请注意 cluxter 对最近维护的 Cloudant Follow 包的建议。
    【解决方案2】:

    如果您打算按照@Juanjo Rodriguez 的建议使用 Follow npm 模块,请考虑使用 Cloudant 的版本。 Iriscouch 的版本(@Juanjo Rodriguez 指出的版本)已经过时了。例如,它不支持 CouchDB v2.x 以及其他问题。最近几天我与 Cloudant 的团队一起改进了这一切,他们昨天刚刚在这里发布了更新的 npm 包:https://www.npmjs.com/package/cloudant-follow?activeTab=versions

    0.17.0-SNAPSHOT.47 版本启动了我们开发的补丁,所以不要使用0.16.1(这是官方最新的)。

    您可以在此处阅读有关我们修复的问题的更多信息:

    https://github.com/cloudant-labs/cloudant-follow/issues/54

    https://github.com/cloudant-labs/cloudant-follow/issues/50

    https://github.com/cloudant-labs/cloudant-follow/issues/47

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-09-15
      • 2014-01-14
      • 2012-09-12
      • 1970-01-01
      相关资源
      最近更新 更多