gpt4 book ai didi

http - 在 couchDB 中更新设计文档时出现文档冲突错误

转载 作者:可可西里 更新时间:2023-11-01 15:27:01 25 4
gpt4 key购买 nike

我正在从 couch DB 上的“mytest”数据库中获取设计文档,但我想在不同的数据库上上传相同的设计文档,比如说“食物”。

我用来获取设计文档的命令是:

curl http://localhost:5984/mytest/_design/unique > unique.json

然后我得到一个文件,看起来像:

{"_id":"_design/unique","_rev":"5-e91630ccf1de8b5784333ea24ce50087","views":{"handle":{"map":"function(doc) {emit(doc.user.id, 1);}","reduce":"function(key, values) {return sum(values);}"},"coordinates":{"map":"function(doc) {\nif((doc.coordinates.coordinates[0] < 145.81) && (doc.coordinates.coordinates[0] > 144.28)\n\t&& (doc.coordinates.coordinates[1] < (-37.47)) && (doc.coordinates.coordinates[1] > (-38.44)))\nemit(doc, 1);\n\n}"}},"language":"javascript"}

但是当我使用以下方法将相同的设计文件上传到食品数据库时:

curl -X PUT http://localhost:5984/food/_design/unique -d @unique.json

我收到 {"error":"conflict","re​​ason":"Document update conflict."} 错误。你能帮我解决这个错误吗?我无法理解修订号的概念以及我们如何才能真正将此文件放入数据库。

谢谢!!

最佳答案

当您更新文档时,您必须提供您正在更新的文档的修订版。它只允许更新文档的最新版本,如果有人在您上次看到(获取)文档后更新了文档,它将失败。在您的情况下,您应该首先对您尝试更新的 food 数据库设计文档执行 HEAD http 请求。 HEAD 相当轻量级,将返回有关文档的基本信息,包括其当前版本(响应中的 ETag 字段)。然后使用该修订版用新内容更新文档。有关 API 的更多信息:https://docs.couchdb.org/en/stable/api/document/common.html

关于http - 在 couchDB 中更新设计文档时出现文档冲突错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37107434/

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