MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Come eseguo l'equivalente SQL Join in MongoDB?

A partire da Mongo 3.2 le risposte a questa domanda per lo più non sono più corrette. Il nuovo operatore $lookup aggiunto alla pipeline di aggregazione è essenzialmente identico a un join esterno sinistro:

https://docs.mongodb.org/master/reference/operator/aggregation/lookup/#pipe._S_lookup

Dai documenti:

{
   $lookup:
     {
       from: <collection to join>,
       localField: <field from the input documents>,
       foreignField: <field from the documents of the "from" collection>,
       as: <output array field>
     }
}

Ovviamente Mongo non un database relazionale e gli sviluppatori stanno attenti a consigliare casi d'uso specifici per $lookup, ma almeno a partire dalla versione 3.2 è ora possibile eseguire l'unione con MongoDB.