Det här svaret är föråldrat. Sedan version 3.2 har MongoDB begränsat stöd för vänster yttre kopplingar med aggregationsoperatorn $lookup
MongoDB gör inte frågor som sträcker sig över flera samlingar - punkt. När du behöver sammanfoga data från flera samlingar måste du göra det på applikationsnivå genom att göra flera frågor.
- Frågesamling A
- Hämta de sekundära nycklarna från resultatet och placera dem i en array
- Frågesamling B som skickar den matrisen som värdet för $in-operator
- Sätt ihop resultaten av båda frågorna programmatiskt i applikationslagret
Att behöva göra detta borde snarare vara undantaget än normen. När du ofta behöver efterlikna JOINs på det sättet betyder det antingen att du fortfarande tänker för relationellt när du designar ditt databasschema eller att dina data helt enkelt inte är lämpade för det dokumentbaserade lagringskonceptet i MongoDB.