如何清除CouchDB文档

jvlzgdj9  于 2022-12-09  发布在  CouchDB
关注(0)|答案(3)|浏览(248)

我需要完全删除CouchDB 2.1版中的几个文档,就像在清除中一样。
我一直在www.example.com上阅读有关/db/_purgedocs.couchdb.org,但我不清楚其过程。有一句话“请求的格式必须包括文档ID和一个或多个必须清除的修订"。
如何在Postman或浏览器中执行此操作?是否要将doc _id & rev(s)括在大括号中?我正在为如何正确格式化_purge请求而纠结。

wribegjk

wribegjk1#

到目前为止,我的理解是_purge在2.0和2.1中不起作用。
有关更多信息,请查看此JIRA post.

k4aesqcs

k4aesqcs2#

请注意,只有CouchDB 2.0之前的版本以及2.3以后的版本才支持文档清除。集群CouchDB的早期版本(2.0.x和2.1.x)不支持清除,尽管这一点的文档记录很差!
文档说明并提供了一个示例:

{
    "c6114c65e295552ab1019e2b046b10e": [
        "3-b06fcd1c1c9e0ec7c480ee8aa467bf3b",
        "3-0e871ef78849b0c206091f1a7af6ec41"
    ]
}

这意味着格式为:

{
    "<doc id>": [
        "<rev>",
        "<rev>"
    ]
}

这应该是HTTP请求的主体,其内容类型为application/json。如果不使用JavaScript,在浏览器中将无法完成此操作。
使用curl时,它看起来如下所示:

curl -X POST http://<server url>/<database>/_purge -H 'Content-Type: application/json' -d '{"<doc id>":["<rev1>","<rev2>"]}'
qhhrdooz

qhhrdooz3#

我刚刚编写了这个工具来清除和压缩CouchDB中的数据库。https://github.com/nisbus/couch_db_cleaner
我希望README中的文档是清晰的,并且有帮助。

相关问题