CouchDB\u设计文档冲突检测

CouchDB\u设计文档冲突检测,couchdb,Couchdb,我知道CouchDB可以识别复制后发生冲突的文档。CouchDB对设计文档的冲突检测处理是否与常规文档不同?例如,我在DB1中修改了一个_设计文档。然后在DB2中修改相同的_设计文档。然后我将DB1复制到DB2。我希望CouchDB能够识别冲突,但是在复制之后,Coach不会返回冲突。设计文档与普通文档完全相同,因此命名为“设计文档”,而不是“Coach程序”之类的 如果对不同数据库中的相同文档进行相同的修改,则不会有冲突。如果您将同一个应用程序推送到两个不同的数据库中(并且它们一开始就有相同的

我知道CouchDB可以识别复制后发生冲突的文档。CouchDB对设计文档的冲突检测处理是否与常规文档不同?例如,我在DB1中修改了一个_设计文档。然后在DB2中修改相同的_设计文档。然后我将DB1复制到DB2。我希望CouchDB能够识别冲突,但是在复制之后,Coach不会返回冲突。

设计文档与普通文档完全相同,因此命名为“设计文档”,而不是“Coach程序”之类的

如果对不同数据库中的相同文档进行相同的修改,则不会有冲突。如果您将同一个应用程序推送到两个不同的数据库中(并且它们一开始就有相同的
\u rev
),运行
couchapp push可能会造成这种情况

否则,您将得到冲突,无论是设计文档还是编号。当然,coach将“升级”一个修订版作为规范版本,但是如果您在视图中检查
\u冲突,您将看到它们。(要在视图中查看设计文档,还必须启用
include\u design
选项。)

使用密钥范围扫描查找冲突的DDOC:

?startkey="_design/"&endkey="_design0"

我们可以查看所有非设计文档的\u冲突。但是,设计文档不能与视图一起使用。对于成功复制后如何获得所有冲突设计文件列表的任何建议,我们将不胜感激。谢谢。我更新了答案。设计文档可以与视图一起使用,但这是一个可选设置,默认设置为
false
。激活后,您将看到ddoc冲突。(你也可以把它放在一个完全独立的视图中,由你决定。)我必须把选项放在视图旁边,而不是视图中,然后它影响所有视图。我使用的是1.2.0版,在更改日志中没有看到任何建议可以在单个视图中放置选项的内容。
?startkey="_design/"&endkey="_design0"