MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Como executo o equivalente SQL Join no MongoDB?


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.