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

वस्तुओं की एक सरणी में $लुकअप का उपयोग करें

आप इसे MongoDB 3.2 में कुछ इस तरह से कर सकते हैं, यह मानते हुए कि संग्रह में विवरण है video.details और जिस फ़ील्ड में आप शामिल हो रहे हैं वह _id . है :

[  
   {  
      $unwind:"$videos"
   },
   {  
      $lookup:{  
         from:"video.details",
         localField:"videos.videoId",
         foreignField:"_id",
         as:"details"
      }
   },
   {  
      $group:{  
         _id:"$_id",
         name:{  
            $first:"$name"
         },
         videos:{  
            $push:{  
               videoId:"$videos.videoId",
               videoDetails:"$details"
            }
         }
      }
   }
]

तो मूल रूप से आप अपना लुकअप करते हैं लेकिन बाद में $group चरण में आउटपुट को जिस तरह से आप पसंद करते हैं उसका निर्माण करते हैं। यदि आप MongoDB 3.3.4 या इसके बाद के संस्करण का उपयोग कर रहे हैं तो आपको पहले $अनविंड चरण की आवश्यकता नहीं हो सकती है (उस से पहले सरणियों पर $ लुकअप की अनुमति नहीं थी)।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. नेवला के साथ गतिशील क्वेरी करें

  2. Node.js mongodb ड्राइवर async/प्रतीक्षा क्वेरी

  3. मोंगो कॉपी संग्रह और उपयोगकर्ता अनुमतियां

  4. निश्चित समय के बाद नोड ऐप अनुत्तरदायी

  5. MongoDB में संघ प्रदर्शन करें