MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

MongoDB $lookup एग्रीगेशन ऑपरेटर के साथ साझाकरण का उपयोग करेगा

जैसा कि आपके द्वारा उद्धृत दस्तावेज़ इंगित करते हैं, आप $lookup . का उपयोग नहीं कर सकते एक कटा हुआ संग्रह पर। तो सबसे अच्छा अभ्यास समाधान यह है कि आप स्वयं लुकअप को एक अलग क्वेरी में निष्पादित करें।

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

$lookup . की अनुमति न दें सीमा आपको उन संग्रहों को तेज करने से रोकती है जिनके लिए इसे मापनीयता की आवश्यकता होती है, बस लुकअप फ़ंक्शन स्वयं करें।



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. मैं मोंगोज़ के साथ ऑब्जेक्ट आईडी कैसे उत्पन्न कर सकता हूं?

  2. यमन, नेवला, और MongoDB मचान

  3. MongoDB असुरक्षा के स्तर और उनसे कैसे बचें

  4. नेवला में एक सरणी मान को कैसे अपडेट करें

  5. MongoDB एकत्रीकरण ढांचे में माध्यिका की गणना करें