我删除了一个文档,但我仍然可以看到它在_changes,所以我可以看到最后一个有效的_rev,它被删除,所以得到doc与id和最后修订只返回: { "_id":"25efa4ec8489d8b89b34c5cad6000059", "_rev":"3-a982bd
{ "_id":"25efa4ec8489d8b89b34c5cad6000059", "_rev":"3-a982bd6dccce8f405433f8453ab86880", "_deleted":true }
没有其他属性。
在这种情况下如何恢复? _changes中无法看到以前的修订。写空文件(设置_deleted为false)有助于查看所有修订信息?
好的,想出来,如果有兴趣的人:>删除历史,例如:
curl http://example.iriscouch.com/test/_changes
>您将看到$ id和$ rev的已删除文档,将空白文档作为新版本,例如:
curl -X PUT http://example.iriscouch.com/test/$id?rev=$rev -H "Content-Type: application/json" -d {}
>现在你可以得到所有的修订信息,例如:
curl http://example.iriscouch.com/test/$id?revs_info=true
>删除之前获取版本,例如:
curl http://example.iriscouch.com/test/$id?rev=$prev_rev
>把它放回couchdb,例如:
curl -X PUT http://example.iriscouch.com/test/$id?rev=$rev -H \'Content-Type: application/json\' -d \'$data\'
让我知道如果你有更好的方法或脚本。