在 CouchDb 中创建设计文档的好点
A Good Point to Create Design Documents in CouchDb
我有一个 CouchDb 实例 运行 peruser 数据库配置。
生成的每个用户数据库(当用户添加到 _users
数据库时)需要具有与 view/list 逻辑等相同的设计文档。
在创建数据库时将设计文档添加到数据库中的实际方法是什么?是否只是在用户创建请求成功后添加它们?或者在 CouchDb 中有更优雅的方法吗?
没有用于初始化新创建的用户数据库的机制,您应该将其包含在您的用户创建逻辑中。
如果你想解耦用户创建和数据库初始化,我建议你探索以下策略
1 - 创建一个模板数据库并在上面放置您应该应用于每个用户的设计文档 db
2 - 连续监听 _db_updates 将通知数据库级事件的端点。 This 图书馆可以帮助你。
3 - 创建与用户数据库名称模式匹配的数据库时,您可以使用 _replicate 端点触发从模板数据库到新创建的数据库的复制。
如果您计划按照@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
我有一个 CouchDb 实例 运行 peruser 数据库配置。
生成的每个用户数据库(当用户添加到 _users
数据库时)需要具有与 view/list 逻辑等相同的设计文档。
在创建数据库时将设计文档添加到数据库中的实际方法是什么?是否只是在用户创建请求成功后添加它们?或者在 CouchDb 中有更优雅的方法吗?
没有用于初始化新创建的用户数据库的机制,您应该将其包含在您的用户创建逻辑中。 如果你想解耦用户创建和数据库初始化,我建议你探索以下策略
1 - 创建一个模板数据库并在上面放置您应该应用于每个用户的设计文档 db
2 - 连续监听 _db_updates 将通知数据库级事件的端点。 This 图书馆可以帮助你。
3 - 创建与用户数据库名称模式匹配的数据库时,您可以使用 _replicate 端点触发从模板数据库到新创建的数据库的复制。
如果您计划按照@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