Hier is een samenvatting van de verschillen:
$lookup
- kan alleen worden gebruikt met
aggregate
- kan alleen worden gebruikt om documenten waarnaar wordt verwezen op te halen uit niet-gecodeerde collecties
- kan documenten waarnaar wordt verwezen in elk veld ophalen
- over het algemeen beter presterend omdat het een bewerking aan de serverzijde is
- vereist MongoDB 3.2+
Mongoose populate()
- kan worden gebruikt met
find
enaggregate
- kan worden gebruikt om documenten waarnaar wordt verwezen uit zowel shard- als unshard-collecties op te halen
- kan alleen documenten waarnaar wordt verwezen door
_id
- geen MongoDB-versievereiste