sql >> Base de Datos >  >> NoSQL >> MongoDB

La filtración de población anidada es MongoDB

Al ejecutar await Order.find({}).populate({ , Mongoose primero envía el find al servidor mongod y devuelve un cursor, que se pasa a poblar.

Luego, Rellenar recupera cada documento del cursor y envía un find separado al user colección para recuperar los documentos coincidentes e itera ese cursor, colocando los documentos recuperados en una matriz en el documento original.

Rellenar puede afectar qué documentos están incrustados en los documentos originales, pero no tiene ninguna capacidad para eliminar documentos del conjunto de resultados original.

La match pasado a poblar significará que solo los usuarios coincidentes se agregarán al documento original, por lo que debería poder usar filter para eliminar cualquier documento en el resultado que no contenga usuarios.