Podczas wykonywania await Order.find({}).populate({
, Mongoose najpierw wysyła find
do serwera mongod i zwraca kursor, który jest przekazywany do wypełnienia.
Wypełnij następnie pobiera każdy dokument z kursora i wysyła oddzielne find
do user
kolekcji, aby pobrać pasujące dokumenty i iteruje ten kursor, umieszczając pobrane dokumenty w tablicy w oryginalnym dokumencie.
Wypełnianie może wpływać na to, które dokumenty są osadzane w oryginalnych dokumentach, ale nie ma możliwości usunięcia dokumentów z oryginalnego zestawu wyników.
match
przekazane do wypełnienia oznacza, że tylko pasujący użytkownicy zostaną dodani do oryginalnego dokumentu, więc powinieneś być w stanie użyć filter
aby wyeliminować w wyniku wszystkie dokumenty, które nie zawierają użytkowników.