我正在计划构建网站,允许用户根据其状态添加,编辑和删除记录,而不是与Stack Overflow不同。任何用户都应该能够像wiki一样编辑记录,但为了避免破坏,必须保存所有修订版本,以便我们可以在需要时恢复。
我想有几种方法可以做到这一点。维基百科和Stack Overflow等网站如何管理这类数据?
PS。我使用MongoDB进行数据持久化。
答案 0 :(得分:3)
您有两个正交的选择。
将历史记录保存在同一文档中,字段名称为versions
(或其他)。
将更改保存到单独的集合中,以保持原始文档的清洁。
只存储已修改的字段,这样可以节省一些空间(添加/删除字段时要小心)。
2.1。为了进一步节省空间,您可以存储字符串值的差异。