我知道CouchDB会识别复制后发生冲突的文档.对于_design文档,CouchDB是否会对常规文档进行不同的冲突检测?例如,我在DB1中修改_design文档.然后我在DB2中修改相同的_design文档.然后我将DB1复制到DB2.我希望CouchDB识别冲突,但是在复制之后,Couch不会发生冲突.
设计文档与普通文档完全相同,因此名称为“设计文档”而不是“沙发程序”等。
如果您对不同数据库中的相同文档进行相同的修改,则不会发生冲突。如果您将同一个应用程序推送到两个不同的数据库(并且它们一开始couchapp push就有相同的数据库),那么运行可能会造成这种情况。_rev
否则,无论是否有设计文档,您都会遇到冲突。当然,couch 会将一个修订版“提升”为规范版本,但如果您_conflicts在视图中检查,您将看到它们。(要在视图中查看设计文档,您还必须启用该include_design选项。)
{ "_id": "_design/example"
, "views":
{ "conflicts":
{ "options": {"include_design": true}
, "map": "function(doc) { if(doc._conflicts) emit(doc._id, doc._conflicts); }"
}
}
}
Run Code Online (Sandbox Code Playgroud)
使用键范围扫描查找冲突的 ddocs:
?startkey="_design/"&endkey="_design0"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
863 次 |
| 最近记录: |