gpt4 book ai didi

couchdb - 如何删除文档 ID 为空 ""的 couchdb 文档?

转载 作者:行者123 更新时间:2023-12-02 11:05:01 25 4
gpt4 key购买 nike

我在数据库中看到的文档如下:{_id:“”,_rev:“1-2f11e026763c10730d8b19ba5dce7565”,禁止:“必须提供最新的_rev才能更新现有包”}

我在文档中看到的所有内容都显示引用具有 ID 的文档,但这当然不可能发生。

我不太确定这是怎么发生的,很可能是椅子和键盘之间出现了故障,但我想知道是否有可能在不重新开始的情况下解决这个问题。

最佳答案

CouchDB 中存在一个错误,导致这种情况发生。我相信它是在 v1.1.0 中引入的,并将在 v1.1.1 和 v1.2.0 中修复。

该错误是 _update 函数可以创建具有空字符串 ID 的文档。要删除文档,请使用相同的更新函数并利用相同的错误。

例如:

{ "_id": "_design/example",
"updates": {
"del_blank":
"function(doc, req) {
var doc = {_id:'', _rev:req.query.rev, _deleted:true};
return [doc, 'Trying to delete nastydoc@'+doc._rev];
}"
}
}

只需提供给您带来问题的修订版本,它就会将其标记为已删除。

$ rev="1-2f11e026763c10730d8b19ba5dce7565"
$ curl -XPOST localhost:5984/db/_design/example/_update/del_blank?rev=$rev
Trying to delete nastydoc@1-2f11e026763c10730d8b19ba5dce7565

$ curl localhost:5984/db/_all_docs
{"total_rows":1,"offset":0,"rows":[
{"id":"_design/example","key":"_design/test","value":{"rev":"2-b9bfbedff0c09fab88ff36d06cec0d34"}},
]}

关于couchdb - 如何删除文档 ID 为空 ""的 couchdb 文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7604557/

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