Dette svar er forældet. Siden version 3.2 har MongoDB begrænset understøttelse af venstre ydre sammenføjninger med $lookup aggregeringsoperatoren
MongoDB laver ikke forespørgsler, der spænder over flere samlinger - punktum. Når du skal sammenføje data fra flere samlinger, skal du gøre det på applikationsniveau ved at lave flere forespørgsler.
- Forespørgselssamling A
- Hent de sekundære nøgler fra resultatet, og sæt dem i et array
- Forespørgselssamling B, der videregiver det array som værdien af $in-operatoren
- Forbind resultaterne af begge forespørgsler programmatisk på applikationslaget
At skulle gøre dette burde snarere være undtagelsen end normen. Når du ofte har brug for at efterligne JOINs på den måde, betyder det enten, at du stadig tænker for relationelt, når du designer dit databaseskema, eller at dine data simpelthen ikke er egnet til det dokumentbaserede lagringskoncept i MongoDB.