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

Dra*_*uan 2 couchdb

在CouchDB中创建视图时,您如何确定用于新创建的视图的设计文档?也就是说,通过什么原则来确定是否将2个或更多视图放入同一个设计文档中?

Jas*_*ith 5

在内部,发生以下事情.

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

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

  3. 数据库中的每次更新 必须传递数据库中所有设计文档的所有validate_doc_update()函数.

出于这些原因,最好将一个设计文档视为一个应用程序.

我个人使用的一个例外是一个_design/couchdb具有共同视图的文档,例如向我显示所有文档冲突.