Dzięki wątku github udostępnione przez Grégory NEUT w komentarzach do pytania udało mi się ustalić pewne fakty:
- Metoda populate() Mongoose nie używa zakulisowego wyszukiwania $ MongoDB. Po prostu tworzy kolejne zapytanie do bazy danych.
- Mongoose nie ma funkcji, których nie ma MongoDB.
populate()
po prostu wykonuje dwa lub więcej zapytań.
Moim zdaniem są miejsca, w których można użyć populate()
i inni do korzystania z $lookup
. W przypadku bardziej złożonych zapytań $lookup
w potoku agregacji będzie działać najlepiej.