Hier ist eine Zusammenfassung der Unterschiede:
$lookup
- kann nur mit
aggregate
verwendet werden - kann nur verwendet werden, um referenzierte Dokumente aus ungeteilte Sammlungen
- kann referenzierte Dokumente durch jedes Feld einziehen
- im Allgemeinen leistungsfähiger, da es sich um einen serverseitigen Vorgang handelt
- erfordert MongoDB 3.2+
Mungo populate()
- kann mit
find
verwendet werden undaggregate
- kann verwendet werden, um referenzierte Dokumente sowohl aus geteilten als auch aus nicht geteilten Sammlungen einzulesen
- kann nur referenzierte Dokumente nach
_id
abrufen - keine MongoDB-Versionsanforderung