Od Mongo 3.2 odpowiedzi na to pytanie w większości nie są już poprawne. Nowy operator $lookup dodany do potoku agregacji jest zasadniczo identyczny z lewym złączeniem zewnętrznym:
https://docs.mongodb.org/master/reference/operator/aggregation/lookup/#pipe._S_lookup
Z dokumentów:
{
$lookup:
{
from: <collection to join>,
localField: <field from the input documents>,
foreignField: <field from the documents of the "from" collection>,
as: <output array field>
}
}
Oczywiście Mongo nie relacyjnej bazy danych, a programiści ostrożnie zalecają konkretne przypadki użycia $lookup, ale przynajmniej od 3.2 robienie łączenia jest teraz możliwe z MongoDB.