По принцип DBRef е самоописващ се ObjectID, чийто помощник от страна на клиента, който съществува във всички драйвери (мисля, че всички), предоставя възможност във вашето приложение лесно да получавате свързани редове.
Те не са:
- ПРИСЪЕДИНЯВАНЕ
- Каскадни връзки
- Отношения от страна на сървъра
- Решено от страната на сървъра
Те също така не се използват в Map Reduce, функционалността беше премахната поради усложнения с шардинга.
Не винаги е чудесно да ги използвате обаче, понеже те заемат доста място, ако знаете колекцията, която е свързана с този ред, в сравнение с простото съхраняване на ObjectID. Не само това, но поради начина, по който се разрешават, всеки свързан запис трябва да се зарежда бавно един по един вместо това, ако може да формира диапазон (лесно) за заявка за свързани редове наведнъж, така че те могат да увеличат количеството заявки правите и към базата данни, като на свой ред увеличавате курсорите.