Grazie a un thread github condiviso da Grégory NEUT nei commenti alla domanda ho potuto stabilire alcuni fatti:
- Il metodo populate() di Mongoose non utilizza la ricerca $ dietro le quinte di MongoDB. Fa semplicemente un'altra query al database.
- Mongoose non ha funzionalità che MongoDB non ha.
populate()
effettua solo due o più query.
Secondo me, ci sono posti in cui usare populate()
e altri per usare $lookup
. Per query più complesse $lookup
in una pipeline di aggregazione funzionerebbe meglio.