【问题标题】:Does PouchDB really keep all document revisions forever?PouchDB 真的会永远保留所有的文档修订吗?
【发布时间】:2017-04-13 18:44:16
【问题描述】:

https://pouchdb.com/guides/compact-and-destroy.html 的 PouchDB 文档引起了我的注意:

默认情况下,PouchDB 和 CouchDB 旨在存储所有文档 永远修改。

在我的情况下,这种行为确实不理想,随着大量文档编辑,数据库会随着时间的推移而变得庞大。所以我决定用https://pouchdb.com/getting-started.html上的couchdb自己的任务演示“入门”应用程序来测试它。

我的测试是:创建任务,多次编辑它们,然后使用 PouchDB Inspector chrome 扩展在数据库中检查它们。令我惊讶的是,似乎只有最后一个修订版本保存在数据库中。如果我没有遗漏任何东西而且这是真的,那么他们为什么要写“默认情况下,PouchDB 和 CouchDB 旨在永久存储所有文档修订版”。在他们的官方文件上?我错过了什么吗?

【问题讨论】:

  • 好的,显然这是 PouchDB Inspector 中的一个问题(或者可能是默认行为?),它没有显示较旧的修订,查看 indexedDB 我能够看到,是的,它正在创建多个修订.

标签: pouchdb


【解决方案1】:

如果你多读几句话,你会看到:

为了缓解这个问题,PouchDB 提供了两种方法:压缩和销毁。

该页面的其余部分解释了如何处理它。

令我惊讶的是,似乎只保存了最后一个修订版......我错过了什么吗?

我不熟悉 Chrome 扩展程序,但默认情况下 PouchDB 只会向您显示最新版本,除非您明确要求其他人。

此外,默认情况下,PouchDB 最多保留每个文档的 1000 个修订版 (configurable with revs_limit)。这是在与 CouchDB 同步时允许解决冲突所必需的。

如果您从不同步,或者您知道解决冲突永远不需要超过 N 个修订版,您可以将其设置为较小的数字以节省空间。

【讨论】:

    猜你喜欢
    • 2016-07-09
    • 2017-06-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多