Ta odpowiedź jest nieaktualna. Od wersji 3.2 MongoDB ma ograniczoną obsługę lewych złączeń zewnętrznych za pomocą operatora agregacji $lookup
MongoDB nie wykonuje zapytań obejmujących wiele kolekcji - kropka. Kiedy chcesz połączyć dane z wielu kolekcji, musisz to zrobić na poziomie aplikacji, wykonując wiele zapytań.
- Zbiór zapytań A
- Pobierz klucze pomocnicze z wyniku i umieść je w tablicy
- Zbiór zapytań B przekazujący tę tablicę jako wartość operatora $in-operator
- Połącz wyniki obu zapytań programowo w warstwie aplikacji
Taka konieczność powinna być raczej wyjątkiem niż normą. Kiedy często musisz emulować takie JOIN, oznacza to, że nadal myślisz zbyt relacyjnie podczas projektowania schematu bazy danych lub że Twoje dane po prostu nie są odpowiednie dla koncepcji przechowywania opartej na dokumentach MongoDB.