添加可版本化和可变模型,NodeJS

在我的服务器上运行NodeJS,我有一些服务器端的业务模型(想想产品,客户,小部件,文档等)。 所有这些都可以存储在数据库中。 我希望能够添加到这些模型的一些以下function:

  • 多版本
  • 可变的(好有)

可版本化 – 允许pipe理模型对象的演变。 例如,如果我们将其应用于我的产品模型 – 我应该能够:

  • 了解产品A在特定时间的外观

  • 在新版本的产品A上工作,并将其保存为草稿,并能够发布草稿,以便发布,并且可以开始在新的草稿上工作(以前版本将变为过期)。 在这里输入图像描述

变种 (好有) – 允许从主分支创build分支(变种)。 每个分支都是可版本化的。 在这里输入图像描述

问题 :是否有任何基础设施(一个现有的npm模块?)实现此function?

对于rails,有BeRevisable gem,它实现了Versionable特性(可以通过mixin添加到任何模型中),也可以是acts_as_revisable gem。

看看修正主义和修订 。 他们都提供简单的解决scheme,你需要扩展,但他们是很好的启动。