1

是否可以“刮擦”couchdb 文档?我的意思是删除一个文档,并确保该文档及其历史记录已从数据库中完全删除。

不想执行数据库压缩,我只想完全清除单个文档。而且我正在寻找一种解决方案,可以保证在数据库中没有文档的痕迹,而无需等待内部数据库进程最终删除文档。

(赞赏python解决方案)

4

2 回答 2

2

当您在 CouchDB 中删除文档时,通常只保留 _id、_rev 和一个已删除标志。这些被保留以允许通过复制实现最终的一致性。在整个节点组中强制立即删除与架构并不完全一致。

最接近的方法是使用 purge;一旦你这样做了,文档的所有痕迹都将在下一次压缩后消失。我意识到这并不完全是您所要求的,但它是我脑海中最接近的事情。

这是一篇很好的文章,解释了各种可用删除方法背后的基础。

于 2013-11-16T19:13:13.580 回答
1

从文件系统中删除任何东西肯定是困难的,而且通常是相当昂贵的问题。一般来说,数据库更是如此。取决于对你来说肯定意味着什么,你最终可能会得到自定义数据库、自定义操作系统和自定义硬件。所以有点说我想要容错系统,是的,每个人都想拥有一个,但只有少数人买得起,但好消息是大多数人可以接受更少。类似的肯定是删除,我假设您正在尝试解决一些安全或隐私问题,因此请尝试查看是否有其他方法来获得您需要的内容。也许加密文档或其中的敏感部分。

于 2013-11-17T07:34:04.173 回答