MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Wie führe ich das SQL Join-Äquivalent in MongoDB aus?

Ab Mongo 3.2 sind die Antworten auf diese Frage meist nicht mehr korrekt. Der neue $lookup-Operator, der der Aggregationspipeline hinzugefügt wurde, ist im Wesentlichen identisch mit einem Left Outer Join:

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

Aus der Dokumentation:

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

Natürlich ist Mongo nicht eine relationale Datenbank, und die Entwickler achten darauf, spezifische Anwendungsfälle für $lookup zu empfehlen, aber zumindest ab Version 3.2 ist das Joinen jetzt mit MongoDB möglich.