如何使用 mongodb 和 nodejs 为博客存储不同版本的文档?
How to store separate versions of document for a blog using mongodb with nodejs?
我正在创建一个博客站点,但我想添加一个功能来让博客具有历史记录在以前的版本和最新版本中做了哪些更改。创建一个单独的历史集合将是一种方法,但是我需要的文档如何只复制历史集合中旧修订的文档或者只是 json diff。如果我们只存储字段的差异,如果我们希望查询具有特定修订版本的文档(__version: 15)并且当前版本将在某处 25,那么构建最新文档的基础对象将是该修订版本。
我会选择你的第一个选项,使用历史集合,因为获取整个文档比保留大量差异然后必须将它们同步在一起要容易得多。此外,拥有不同的 collectiont 将是一个更快的解决方案,因为您不需要获取不同的版本,assemble 它们并显示它。
但另一方面,如果您只想显示较小的更改,例如在编辑评论时在 Facebook 上,我认为 diff 方法是最好的选择,尽管您必须保留对位置的引用以及发生了什么变化
我正在创建一个博客站点,但我想添加一个功能来让博客具有历史记录在以前的版本和最新版本中做了哪些更改。创建一个单独的历史集合将是一种方法,但是我需要的文档如何只复制历史集合中旧修订的文档或者只是 json diff。如果我们只存储字段的差异,如果我们希望查询具有特定修订版本的文档(__version: 15)并且当前版本将在某处 25,那么构建最新文档的基础对象将是该修订版本。
我会选择你的第一个选项,使用历史集合,因为获取整个文档比保留大量差异然后必须将它们同步在一起要容易得多。此外,拥有不同的 collectiont 将是一个更快的解决方案,因为您不需要获取不同的版本,assemble 它们并显示它。
但另一方面,如果您只想显示较小的更改,例如在编辑评论时在 Facebook 上,我认为 diff 方法是最好的选择,尽管您必须保留对位置的引用以及发生了什么变化