ドキュメントに変更を加えてコピーを作成し、編集したコピーを「現在」として保存し、以前のバージョンがタイムスタンプ、編集者などとともに保持されるように、コレクション内のドキュメントをバージョン管理する必要があります。次のようなスキーマ:
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 に貼り付けられます。
- スキーマは自分自身を参照できます
prev_docs
か? - この設計パターンは MongoDB でスケーラブルですか?
prev_docs
監査証跡としてのみ使用され、ユーザーは通常、以前のバージョンを表示せず、ほとんどのクエリから完全に除外されます。