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

मोंगो में शीर्ष-स्तरीय दस्तावेज़ के रूप में समग्र/परियोजना उप-दस्तावेज़

जब आपके पास उप-दस्तावेज़ में कई, कई फ़ील्ड हैं और कभी-कभी इसे नए क्षेत्रों के साथ अद्यतन किया जाता है, तो प्रक्षेपण एक व्यवहार्य विकल्प नहीं है। सौभाग्य से, 3.4 के बाद से, MongoDB के पास $replaceRoot नामक एक नया ऑपरेटर है।

आपको बस अपनी पाइपलाइन के अंत में एक नया चरण जोड़ना है।

db.getCollection('sample').aggregate([
    {
        $replaceRoot: {newRoot: "$command"}
    },
    {
        $project: {score: 0 } //exclude score field
    }
])

यह आपको वांछित आउटपुट देगा।

ध्यान दें कि एकत्रीकरण के मामले में (विशेषकर $group<के बाद /ए> स्टेज) 'कमांड' दस्तावेज़ एक सरणी हो सकता है और इसमें कई दस्तावेज़ हो सकते हैं। इस मामले में आपको $unwind करना होगा सरणी सबसे पहले $replaceRoot



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. स्प्रिंग डेटा मोंगो - नेस्टेड मूल्य के लिए नेस्टेड विशिष्ट सरणी कैसे प्राप्त करें?

  2. मोंगोडीबी स्वचालित रूप से डेटा रीफ्रेश नहीं करता है?

  3. Android और MongoDB पर SQLite सिंक्रनाइज़ेशन के साथ

  4. स्प्रिंग डेटा - MongoDB:किसी अन्य डेटाबेस से संबंधित DBRef दस्तावेज़ को पुनः प्राप्त करने में असमर्थ

  5. MongoDB प्रतिकृति से कनेक्शन Kubernetes पर सेट करें