3

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

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

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

4

2 回答 2

2

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

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

2 - 连续侦听_db_updates端点,其中将通知数据库级别事件。这个库可以帮助你。

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

于 2018-03-19T10:46:38.020 回答
1

如果您计划按照@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

于 2018-03-22T14:27:00.530 回答