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

在CouchDb中创建设计文档的一个好方法,couchdb,design-documents,Couchdb,Design Documents,我有一个CouchDb实例运行peruser数据库配置 生成的每个用户数据库(当用户添加到\u users数据库时)都需要具有相同的设计文档以及视图/列表逻辑等 在创建数据库时,将设计文档添加到数据库的实际方法是什么?是否只是在成功的用户创建请求后添加它们?或者在CouchDb中有更优雅的方法来实现这一点吗?没有初始化新创建的用户数据库的机制,您应该将其包含在用户创建逻辑中。 如果您想将用户创建和数据库初始化解耦,我建议您探索以下策略 1-创建一个模板数据库,并将应应用于每个用户数据库的设计文档

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

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


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

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

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

2-持续侦听\u db\u更新将通知db级别事件的端点。图书馆可以帮助你


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

< P>如果计划按照Juanjo Rodriguez建议的NEXT NPM模块,请考虑使用CyoRoad的版本。爱尔兰人的版本(由@Juanjo Rodriguez指出)已经过时了。例如,它不支持CouchDB v2.x以及其他问题。最近几天,我与Cloudant的团队一起改进了这一切,他们昨天刚刚在这里发布了更新的npm包:

0.17.0-SNAPSHOT.47
版本采用了我们开发的修补程序,因此不要使用
0.16.1
(官方最新版本)

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


谢谢-这是一个很好的策略。还要注意cluxter关于最近维护的包的建议。