gpt4 book ai didi

CouchDB _design 文档冲突检测

转载 作者:行者123 更新时间:2023-12-04 20:22:04 26 4
gpt4 key购买 nike

我知道 CouchDB 会识别复制后发生冲突的文档。 CouchDB 对 _design 文档处理冲突检测的方式是否与普通文档不同?例如,我在 DB1 中修改了一个 _design 文档。然后我在 DB2 中修改了相同的 _design 文档。然后我将 DB1 复制到 DB2。我希望 CouchDB 识别出冲突,但是在复制之后,Couch 没有返回任何冲突。

最佳答案

设计文档与普通文档完全一样,因此名称为“设计文档”而不是“沙发程序”等。

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

否则,无论设计文档与否,您都会遇到冲突。当然,couch 会“推广”一个修订版作为规范版本,但是如果您检查 _conflicts在一个 View 中,你会看到它们。 (要在 View 中查看设计文档,您还必须启用 include_design 选项。)

{ "_id": "_design/example"
, "views":
{ "conflicts":
{ "options": {"include_design": true}
, "map": "function(doc) { if(doc._conflicts) emit(doc._id, doc._conflicts); }"
}
}
}

使用键范围扫描查找冲突的 ddoc:
?startkey="_design/"&endkey="_design0"

关于CouchDB _design 文档冲突检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5408304/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com