DBref není nic jako cizí klíč v tradičních relačních systémech. Je to pouze konvence, která snadno řekne řidiči (který je schopen), aby automaticky načetl uvedené dokumenty. Viz DBRef pro více informací o tomto.
V závislosti na použitém ovladači můžete být schopni načíst tyto odkazy automaticky, pouze když je potřebujete (líný), takže režie výkonu by měla být opravdu malá. Ale režie úložiště je o něco vyšší než jednoduché odkazované _id jiného dokumentu. V podstatě bych řekl, že byste měli používat tyto DBrefs pouze v případě, že propojený dokument může být proměnného typu. Pokud je statický, pak jste uvízli u referencí _id a možná u vaší vlastní funkce líného zavaděče, takže se nebudete opakovat.
Neopakujte se (nebo duplikace dat v databázových podmínkách) platí i ve vašem kontextu, jak doporučuje MongoDB (takže já bych také), je pouze propojte své dokumenty . V opačném případě byste měli vyšší využití úložiště a poněkud dlouho běžící aktualizace, abyste aktualizovali pouze jednu logickou entitu (velmi často se fyzicky duplikují).
S dříve zmíněným vlastním líným zavaděčem můžete přidat nějaké ukládání do mezipaměti, takže ne každé vyhledávání ve skutečnosti vede k vyhledávání mongodb. S největší pravděpodobností byste se pak museli postarat o konzistenci dat mezi mezipamětí a db.