MongoDBを使用しているときに、DBRefの使用を必要とするいくつかの状況に遭遇しました。ただし、参照されているドキュメントの一部のフィールドをDBRef自体にキャッシュしたいと思います。
{$ref:'user', $id:'10285102912A', username:'Soviut'}
たとえば、ユーザードキュメントが参照されている場合でも、ユーザー名を使用できるようにしたい場合があります。これにより、単一のドキュメントアプローチのすべての利点が得られます。クエリを高速化し、コードで手動の間接参照を行う必要をなくします。同時に、意味のある場所で参照を使用できるようにします。
参照されるドキュメントが更新されると(たとえば、ユーザーが名前を変更すると)、私のビジネスレイヤーはそれを参照するすべてのドキュメントを自動的に更新できるという考え方です。
最終的に、DBRefに追加のフィールドを格納するのに適した形式と見なされるかどうか疑問に思っていますか?それは何かを壊しますか?参照が書き換えられるたびにデータが失われますか?pymongoのようなドライバーはそれをサポートしますか?