Gracias a un hilo de github compartido por Grégory NEUT en los comentarios de la pregunta he podido establecer ciertos hechos:
- El método populate() de Mongoose no utiliza la búsqueda de $ de MongoDB entre bastidores. Simplemente hace otra consulta a la base de datos.
- Mongoose no tiene funcionalidades que MongoDB no tiene.
populate()
solo hace dos o más consultas.
En mi opinión, hay lugares para usar populate()
y otros para usar $lookup
. Para consultas más complejas $lookup
en una canalización de agregación funcionaría mejor.