Lors de l'exécution de await Order.find({}).populate({
, Mongoose envoie d'abord le find
au serveur mongod et renvoie un curseur, qui est transmis pour peupler.
Populate récupère ensuite chaque document à partir du curseur et envoie un find
séparé à l'user
collection pour récupérer le ou les documents correspondants, et itère ce curseur, en plaçant les documents récupérés dans un tableau dans le document d'origine.
Le remplissage peut affecter les documents qui sont incorporés dans les documents d'origine, mais il n'a pas la capacité de supprimer des documents de l'ensemble de résultats d'origine.
La match
passé à peupler signifie que seuls les utilisateurs correspondants sont ajoutés au document d'origine, vous devriez donc pouvoir utiliser filter
pour éliminer tous les documents du résultat qui ne contiennent aucun utilisateur.