ドメイン オブジェクトにプロパティを追加すると、MongoDB ドキュメントに波及します。たとえば、新しい「facebookId」プロパティをユーザーに追加すると、MongoDB ドキュメントに新しい facebookId フィールドが追加されます。
ドキュメントのバージョンを追跡するためのさまざまなアプローチは何ですか?
すべてのドキュメントに「_version」フィールドを追加することを考えていました。他の解決策はありますか?
ドメイン オブジェクトにプロパティを追加すると、MongoDB ドキュメントに波及します。たとえば、新しい「facebookId」プロパティをユーザーに追加すると、MongoDB ドキュメントに新しい facebookId フィールドが追加されます。
ドキュメントのバージョンを追跡するためのさまざまなアプローチは何ですか?
すべてのドキュメントに「_version」フィールドを追加することを考えていました。他の解決策はありますか?
ドキュメント スキーマのバージョンを意味する場合、いくつかのオプションがあります。
version
も、元のスキーマよりも新しいドキュメントのみにフィールドを追加することもできます (元のスキーマから何かが変更された場合にのみ追加します)。BSON ドキュメントではすべてのバイトがカウントされるため、_v : 1
. 使用するプラットフォーム (Node.JS、C#、Java など) によっては、バージョンを持っていても逆シリアル化が簡単にならない場合があります。2
が を持っていますfacebookId
)。単純なケースでは、フィールドの存在に基づいてオブジェクトの動作を変更することで、モデル クラスで簡単に処理できます。これは私が以前に行ったことであり、多くのシナリオでうまく機能します。新しいフィールドが null/必須ではない場合、作業が簡単になります (特に #2 と #4)。