Při provádění await Order.find({}).populate({
, Mongoose nejprve odešle find
na mongod server a vrátí kurzor, který je předán k naplnění.
Naplnit poté načte každý dokument z kurzoru a odešle samostatný find
user
kolekce pro načtení odpovídajících dokumentů a iteruje tento kurzor a umístí načtené dokumenty do pole v původním dokumentu.
Naplnit může ovlivnit, které dokumenty budou vloženy do původních dokumentů, ale nemá žádnou možnost odstranit dokumenty z původní sady výsledků.
match
předáno k naplnění bude znamenat, že do původního dokumentu budou přidáni pouze odpovídající uživatelé, takže byste měli mít možnost použít filter
k odstranění všech dokumentů ve výsledku, které neobsahují žádné uživatele.