用于版本控制的自引用模式

时间:2013-07-03 04:29:11

标签: mongodb mongoose

我需要在集合中对文档进行版本化,以便对文档进行任何更改,然后将编辑后的副本保存为“当前”并保留以前的版本,以及时间戳,人物编辑等。设计了一个类似的架构:

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只能用作审计跟踪,用户通常不会看到以前的版本,并且会从大多数查询中完全排除。

0 个答案:

没有答案