从CouchDB数据库中清除所有非当前数据的建议步骤是什么?

从CouchDB数据库中清除所有非当前数据的建议步骤是什么?,couchdb,Couchdb,假设我有一个数据库,有100条记录,每个记录有1000个修订,另外还有100000个删除的文档,每个文档都有大量的修订历史。此外,我们还有一个视图文档和一些mango索引 对于这种假设情况,让我们假设我无法删除和重建数据库。此外,复制安全也不是一个问题 如果我需要使用curl创建某种脚本来清除数据库中所有未使用的数据,以便运行此脚本的结果与删除和重建只有100条记录且只有一个修订版的数据库完全相同,我应该如何执行此操作?对于您的假设情况,您可以执行以下操作: 备份所需的100份文件 删除数据库中

假设我有一个数据库,有100条记录,每个记录有1000个修订,另外还有100000个删除的文档,每个文档都有大量的修订历史。此外,我们还有一个视图文档和一些mango索引

对于这种假设情况,让我们假设我无法删除和重建数据库。此外,复制安全也不是一个问题


如果我需要使用curl创建某种脚本来清除数据库中所有未使用的数据,以便运行此脚本的结果与删除和重建只有100条记录且只有一个修订版的数据库完全相同,我应该如何执行此操作?

对于您的假设情况,您可以执行以下操作:

  • 备份所需的100份文件
  • 删除数据库中的所有文档
  • 使用删除修订历史记录
  • 重新创建所需的100个文档

  • 在现实生活中,节省磁盘空间和BTree大小的更安全方法是:

  • 正确配置CouchDB,使其不包含太多修订
  • 仅清除将来不再修改的文档