在CouchDb中创建设计文档的一个好点

时间:2018-03-14 11:15:19

标签: couchdb design-documents

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

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

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

2 个答案:

答案 0 :(得分:2)

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

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

2 - 持续监听 _db_updates 端点,其中将通知db级别事件。 This图书馆可以为您提供帮助。

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

答案 1 :(得分:1)

如果您计划使用Follow npm模块作为@Juanjo Rodriguez建议,请考虑使用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