小编Jam*_*dam的帖子

CouchDB 和文档版本控制

我目前正在使用 CouchDB 开发一个 wiki-esque 应用程序,并试图实现一个文档版本控制方案。在我看来,有两种方法可以做到这一点:

  1. 将每个版本存储为单独的文档
  2. 将旧版本存储为单个文档的附件。

现在,我有一种#1 的工作形式。当用户编辑文档并保存时,后端首先将之前的修订复制到新文档中,然后保存新版本。每个文档都有一个 'history' 数组,其中包含每个版本的数据(旧版本的文档 _id、时间戳、编辑器等)。

由于这个历史数组对于经常更新的文档来说可能会变得很长,我有一个视图可以在正常读取期间获取一个没有历史记录的文档(以及另一个用于获取历史记录的视图)。

我的问题是:我对我目前的方法感到不安,并一直在考虑改用“依恋”方法。但我不确定。我希望有人比我更了解 CouchDB(我只在这工作了几个星期——这是我第一个使用 CouchDB 和 NoSQL 的项目)可以告诉我每个项目的优缺点方法。或者是否还有其他一些我忽略的版本控制方案?

database-design couchdb

12
推荐指数
1
解决办法
3060
查看次数

标签 统计

couchdb ×1

database-design ×1