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

नेस्टेड लुकअप के साथ मोंगोडब सकल जटिल दस्तावेज़

आपने $unwind किया है दो बार, तो आपको दो $group . का उपयोग करने की आवश्यकता है ।

{
  $group: {
    _id: {
      secId: "$_id",
      fId: "$Sections.id"
    },
    Type: {
      $first: "$Type"
    },
    Name: {
      $first: "$Name"
    },
    Header: {
      $first: "$Sections.Header"
    },
    fieldItems: {
      $push: "$Sections.FieldItems"
    }
  }
},
{
  $group: {
    _id: "$_id.secId",
    Type: {
      $first: "$Type"
    },
    Name: {
      $first: "$Name"
    },
    Sections: {
      $push: {
        id: "$_id.fId",
        Header: "$Header",
        fieldItems: "$fieldItems"
      }
    }
  }
}
  1. पहला समूह - चाइल्ड ऑब्जेक्ट्स को ग्रुप करने के लिए। लेकिन टाइप,नाम और हैडर क्रमशः पैरेंट और चाइल्ड ऐरे पर सेट करने की आवश्यकता है।
  2. दूसरा समूह - मूल वस्तुओं को समूहित करने के लिए। बच्चे को समूहबद्ध करते समय हमें हर स्टैंडअलोन फ़ील्ड मिलता है। यहाँ बस हमें इसे सही क्रम में स्थापित करने की आवश्यकता है।

काम करना मोंगो खेल का मैदान

नोट:जब आप $lookup . का उपयोग करते हैं , यह एक सरणी प्रदान करेगा। लेकिन कुछ जगहें ऐसी भी होती हैं जिन्हें आप सिर्फ वस्तु के रूप में ही बना लेते हैं। मुझे नहीं पता कि आप एक-से-एक रिश्ते में शामिल होते हैं या नहीं। अगर ऐसा है तो आप प्रक्षेपण में स्थितीय ऑपरेटर का उपयोग कर सकते हैं या arrayElemAt




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. मोंगोडब में अन्य क्षेत्र के आधार पर अद्यतन करें

  2. .updateOne MongoDB पर Node.js में काम नहीं कर रहा है

  3. MongoDB में विशेष सरणी तत्व को कैसे अपडेट करें

  4. जब तक मैं नोड सर्वर को पुनरारंभ नहीं करता तब तक मोंगोडब अपडेट नहीं दिख रहा है

  5. मैं प्रदर्शन के लिए mongo db w.r.t में इस डिज़ाइन बाधा को कैसे हल करूं?