Tato odpověď je zastaralá. Od verze 3.2 má MongoDB omezenou podporu pro levá vnější spojení s operátorem agregace $lookup
MongoDB neprovádí dotazy, které zahrnují více kolekcí - tečka. Když potřebujete spojit data z více kolekcí, musíte to udělat na úrovni aplikace zadáním více dotazů.
- Sbírka dotazů A
- Získejte sekundární klíče z výsledku a vložte je do pole
- Kolekce dotazů B předávající toto pole jako hodnotu $in-operator
- Propojte výsledky obou dotazů programově na aplikační vrstvě
To by mělo být spíše výjimkou než normou. Když často potřebujete emulovat JOINy, jako je tento, znamená to buď, že při navrhování schématu databáze stále přemýšlíte příliš relační, nebo že vaše data prostě nejsou vhodná pro koncept úložiště založeného na dokumentech MongoDB.