निष्पादित करते समय await Order.find({}).populate({
, नेवला सबसे पहले find
. भेजता है मोंगोड सर्वर पर और एक कर्सर लौटाता है, जिसे पॉप्युलेट करने के लिए पास किया जाता है।
पॉप्युलेट फिर कर्सर से प्रत्येक दस्तावेज़ को पुनः प्राप्त करता है, और एक अलग find
. भेजता है user
. के लिए मिलान दस्तावेज़ (दस्तावेज़ों) को पुनः प्राप्त करने के लिए संग्रह, और उस कर्सर को पुनरावृत्त करता है, पुनर्प्राप्त दस्तावेज़ों को मूल दस्तावेज़ में एक सरणी में रखता है।
पॉप्युलेट प्रभावित कर सकता है कि मूल दस्तावेज़ों में कौन से दस्तावेज़ एम्बेड किए गए हैं, लेकिन इसमें मूल परिणाम सेट से दस्तावेज़ों को निकालने की कोई क्षमता नहीं है।
match
पॉप्युलेट करने के लिए पारित होने का मतलब होगा कि केवल मिलान करने वाले उपयोगकर्ता ही मूल दस्तावेज़ में जोड़े जाएंगे, इसलिए आपको filter
का उपयोग करने में सक्षम होना चाहिए परिणाम में किसी भी दस्तावेज़ को समाप्त करने के लिए जिसमें कोई उपयोगकर्ता नहीं है।