Pour joindre deux collections (ou plus) dans MongoDB, vous pouvez utiliser l’opérateur `$lookup` de la méthode `aggregate()`. Cela fonctionne de manière similaire à la manière dont “JOIN” fonctionne dans le SQL.
Voici un exemple d’utilisation de `$lookup` pour joindre deux collections :
```
db.collection1.aggregate([
{
$lookup:
{
from: “collection2”,
localField: “commonField”,
foreignField: “commonField”,
as: “combined_doc“
}
}
])
```
Dans cet exemple, `collection1` et `collection2` sont les noms de vos collections à joindre. `commonField` est le champ en commun entre les deux collections sur lequel vous voulez les joindre. `combined_doc` est le nom du nouveau champ qui contiendra les documents joints de `collection2`.
Notez que `$lookup` fait une jointure interne par défaut. Cela signifie qu’il ne renverra que les documents de la collection1 qui ont un match dans la collection2. Les documents dans la collection1 qui n’ont pas de match dans la collection2 seront exclus des résultats. De plus, `$lookup` est disponible à partir de MongoDB 3.2.
Si vous avez besoin d’une plus grande flexibilité dans les jointures et si vous êtes sur MongoDB 3.6+, vous pouvez utiliser la forme complète de `$lookup` qui vous permet d’effectuer une jointure à l’aide d’une pipeline d’agrégation, ce qui permet des jointures plus complexes et variées.