Khi thực thi await Order.find({}).populate({
, Mongoose trước tiên sẽ gửi find
đến máy chủ mongod và trả về một con trỏ, con trỏ được chuyển đến để điền.
Sau đó điền vào, truy xuất từng tài liệu từ con trỏ và gửi một find
riêng biệt cho người dùng user
bộ sưu tập để truy xuất (các) tài liệu phù hợp và lặp lại con trỏ đó, đặt các tài liệu đã truy xuất vào một mảng trong tài liệu gốc.
Việc điền có thể ảnh hưởng đến tài liệu nào được nhúng trong tài liệu gốc, nhưng nó không có bất kỳ khả năng nào để xóa tài liệu khỏi tập kết quả ban đầu.
match
được chuyển vào điền sẽ có nghĩa là chỉ những người dùng phù hợp mới được thêm vào tài liệu gốc, vì vậy bạn có thể sử dụng filter
để loại bỏ bất kỳ tài liệu nào trong kết quả không chứa người dùng.