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

मोंगोडब क्वेरी अनुकूलन में शामिल हों

मुझे लगता है कि आप ऐसा कुछ करना चाहते हैं। मैंने इस प्रश्न का परीक्षण नहीं किया, लेकिन मैं आपके स्थान पर यही कोशिश करूंगा। यह केवल 3.6 मोंगोडब पर संभव है, क्योंकि यह एकाधिक जुड़ने का समर्थन करता है। विचार सभी 3 संग्रहों में शामिल होना है। सबसे पहले शामिल हों माता-पिता और व्यक्ति द्वारा माता-पिता आईडी, और व्यक्ति "parentsId"। दूसरा जुड़ाव माता-पिता और दादा-दादी हैं। फिर आप दादा-दादी के नाम से फ़िल्टर करते हैं और आपको एक दस्तावेज़ मिलेगा जिसमें वह दादा-दादी, उसका बेटा (माता-पिता), और उसका पोता (व्यक्ति) होगा। तब आप केवल उस व्यक्ति को प्रोजेक्ट करते हैं।

    db.Parents.aggregate([
       {
          $lookup:{
             from:"Person",
             localField:"_id",
             foreignField:"parentId",
             as:"Person"
          }
       },
       {
          $unwind:"$Person"
       },
       {
          $lookup:{
             from:"Grandparents",
             localField:"grandparentId",
             foreignField:"_id",
             as:"Grandparents"
          }
       },
       {
          $unwind:"$Grandparents"
       },
       {$match:{Grandparents.name:"x"}},
       {$project:{Person.name:1,Person._id:1}}
}])

मुझे लगता है कि यह चाल चलेगा




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB $toDate

  2. पूरे दस्तावेज़ के साथ $lookup से सरणी में तत्वों की फ़िल्टर की गई संख्या प्राप्त करें

  3. पार्स त्रुटि:सिंटैक्स त्रुटि, अनपेक्षित '}' C:\xampp\htdocs\lib\autors.php में लाइन 8 पर

  4. एक सरणी को फ़िल्टर करने और संबंधित सामग्री को पॉप्युलेट करने के लिए नेवला क्वेरी

  5. मोंगो के साथ एक ही समय में खींचो और जोड़ो