0

我需要对集​​合中的文档进行版本控制,以便对文档的任何更改都会生成副本,并将编辑后的副本保存为“当前”并保留以前的版本,以及时间戳、人员编辑等。我设计了一个架构如:

var doc = new Schema;
doc.Add({ created: Date, 
          created_by:{type: ObjectId, ref: 'User'}, 
          doc_id: String, 
          doc_data: String, 
          prev_docs:[doc]
});

因此,编辑文档将获取当前文档,制作副本并更新文档,将 current_doc 粘贴到 prev_docs 中,等等。

  1. 模式可以引用自身prev_docs吗?
  2. 这种设计模式在 MongoDB 中是否可扩展?prev_docs只会被用作审计跟踪,用户通常不会看到以前的版本,并且会从大多数查询中完全排除。
4

0 回答 0