基本的に、DBRefは自己記述型のObjectIDであり、すべてのドライバー(すべてだと思います)に存在するクライアント側ヘルパーが、アプリケーション内で関連する行を簡単に取得する機能を提供します。
そうではありません:
- 結合
- カスケード可能な関係
- サーバー側の関係
- 解決されたサーバー側
また、Map Reduce内では使用されません。シャーディングの複雑さのため、機能が削除されました。
ただし、これらを使用することは必ずしも素晴らしいことではありません。たとえば、ObjectIDを格納するだけの場合と比較して、その行に関連するコレクションを知っている場合は、かなりのスペースが必要になります。それだけでなく、それらがどのように解決されるかにより、関連する行を一度にクエリする範囲を(簡単に)形成できる場合は、関連する各レコードを1つずつ遅延ロードする必要があります。これにより、クエリの量を増やすことができます。データベースにも作成し、カーソルを増やします。