जैसा कि आपके द्वारा उद्धृत दस्तावेज़ इंगित करते हैं, आप $lookup
. का उपयोग नहीं कर सकते एक कटा हुआ संग्रह पर। तो सबसे अच्छा अभ्यास समाधान यह है कि आप स्वयं लुकअप को एक अलग क्वेरी में निष्पादित करें।
- अपना
aggregate
प्रदर्शन करें क्वेरी. - संभवतः
Array#map
का उपयोग करके, अपने क्वेरी परिणामों से "लोकलफ़ील्ड" मानों को एक सरणी में खींचें । - एक
find
निष्पादित करें{foreignField: {$in: localFieldArray}}
जैसी क्वेरी का उपयोग करके "से" संग्रह के विरुद्ध क्वेरी करें - अपने परिणामों को अपनी आवश्यकता के अनुसार किसी भी प्रारूप में मर्ज करें।
$lookup
. की अनुमति न दें सीमा आपको उन संग्रहों को तेज करने से रोकती है जिनके लिए इसे मापनीयता की आवश्यकता होती है, बस लुकअप फ़ंक्शन स्वयं करें।