I grund och botten är en DBRef ett självbeskrivande objekt-ID som en hjälphjälp på klientsidan, som finns i alla drivrutiner (tror jag alla), ger möjligheten i din applikation att enkelt få relaterade rader.
De är inte:
- GÅR MED
- Kaskaderbara relationer
- Relationer på serversidan
- Löstning på serversidan
De används inte heller inom Map Reduce, funktionaliteten togs bort på grund av komplikationer med skärning.
Det är dock inte alltid bra att använda dessa, för det första tar de ganska mycket utrymme om du känner till samlingen som är relaterad till den raden i jämförelse med att bara lagra ObjectID. Inte bara det, utan på grund av hur de löses måste varje relaterad post laddas en efter en istället för att kunna bilda ett intervall (enkelt) för att söka efter relaterade rader på en gång, så att de kan öka antalet frågor du gör till databasen också, vilket i sin tur ökar markörerna.