在CouchDB中将视图放入同一设计文档的原则?

在CouchDB中将视图放入同一设计文档的原则?,couchdb,Couchdb,在CouchDB中创建视图时,如何确定新创建的视图使用哪个设计文档?也就是说,根据什么原则来确定是否将两个或多个视图放在同一个设计文档中?我对coach没有太多经验,但一般来说,将应用程序映射到设计文档是个好主意。因此,如果您有一个由应用程序bar访问的数据库foo,那么bar内部将有一个foo设计文档,其中将包含所有带有该bar的视图,每个视图都需要根据它们的服务进行命名 包含一些如何将设计文档放置在正确位置的信息。在内部,会发生以下情况 当CouchDB需要用新数据更新视图时,它将同时更新设

在CouchDB中创建视图时,如何确定新创建的视图使用哪个设计文档?也就是说,根据什么原则来确定是否将两个或多个视图放在同一个设计文档中?

我对coach没有太多经验,但一般来说,将应用程序映射到设计文档是个好主意。因此,如果您有一个由应用程序
bar
访问的数据库
foo
,那么
bar
内部将有一个
foo
设计文档,其中将包含所有带有该
bar
的视图,每个视图都需要根据它们的服务进行命名


包含一些如何将设计文档放置在正确位置的信息。

在内部,会发生以下情况

  • 当CouchDB需要用新数据更新视图时,它将同时更新设计文档中的所有视图,作为一种优化

  • 如果更改设计文档
    视图
    空间中的任何内容(甚至更改Javascript中的空格或注释),CouchDB将放弃旧索引并从头开始重建视图

  • 数据库中的每次更新都必须通过数据库中所有设计文档的所有
    验证\u doc\u update()
    函数

  • 由于这些原因,最好将一个设计文档视为一个应用程序。 我个人使用的一个例外是
    \u design/couchdb
    文档,它具有常见视图,例如显示所有文档冲突