A partir do Mongo 3.2, as respostas a esta pergunta não estão mais corretas. O novo operador $lookup adicionado ao pipeline de agregação é essencialmente idêntico a uma junção externa esquerda:
https://docs.mongodb.org/master/reference/operator/aggregation/lookup/#pipe._S_lookup
Dos documentos:
{
$lookup:
{
from: <collection to join>,
localField: <field from the input documents>,
foreignField: <field from the documents of the "from" collection>,
as: <output array field>
}
}
Claro que o Mongo não um banco de dados relacional, e os desenvolvedores estão tendo o cuidado de recomendar casos de uso específicos para $lookup, mas pelo menos a partir do 3.2 fazer join agora é possível com o MongoDB.