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