使用curl CouchDB删除

时间:2013-02-04 01:35:19

标签: curl couchdb

考虑以下构建CouchDB数据库并添加文档的PUT请求

curl -X PUT http://localhost:5984/mydb

回复:{“ok”:true}

curl -X PUT http://localhost:5984/mydb/mydoc -d '{"name":"John", "email":"john@example.com"}'

回复:{“ok”:true,“id”:“mydoc”,“rev”:“1-8c497db1c5b38cb65981a2c83b349d83”}

好的,我们有一份文件。现在我要删除此文档。我试试:

curl -X DELETE http://localhost:5984/mydb/mydoc -d '{"_rev":"1-8c497db1c5b38cb65981a2c83b349d83}'

回复:{“错误”:“冲突”,“原因”:“文档更新冲突。”}

嗯。我不明白为什么这不起作用,所以我试试这个:

curl -X DELETE http://localhost:5984/mydb/mydoc?rev=1-8c497db1c5b38cb65981a2c83b349d83

回应:{“ok”:true,“id”:“mydoc”,“rev”:“2-e8b8b0632384aae62338c57e1826ea81”}

有效......但为什么?第一个出了什么问题?任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:2)

DELETE请求共享GET语义和消息正文为ignored,因此您需要使用查询参数来传递带有请求的修订令牌。