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

मैं उस तत्व को कैसे वापस कर सकता हूं जिसे मैं नेस्टेड सरणी के अंदर ढूंढ रहा हूं?

शेल विधि का उपयोग करें findAndModify आपकी आवश्यकताओं के अनुरूप।

लेकिन आप स्थितीय वर्ण का उपयोग नहीं कर सकते $ MongoDb में प्रोजेक्ट करते समय एक से अधिक बार, इसलिए आपको क्लाइंट-साइड पर स्वयं इसका ट्रैक रखना पड़ सकता है।

उपयोग arrayFilters पोजिशनल ऑल ऑपरेटर के बजाय डीप नेस्टेड सब-डॉक्यूमेंट को अपडेट करने के लिए $[]

नीचे एक कार्यशील क्वेरी है -

var query = {
    universe: 'comics'
};

var update = {
    $set: {
        'saga.$[outer].characters.$[inner].character': 'lobezno',
        'saga.$[outer].characters.$[inner].picture': '618035022354.png',
    }
};

var fields = {
    'saga.characters': 1
};

var updateFilter = {
    arrayFilters: [
        {
            'outer.name': 'x-men'
        },
        {
            'inner.character': 'wolverine'
        }
    ]
};

db.collection.findAndModify({
    query,
    update,
    fields,
    arrayFilters: updateFilter.arrayFilters
    new: true
});


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. mongorestore स्टैंडअलोन से रेप्लिकासेट तक

  2. नेस्टेड सरणी को कैसे अपडेट करें

  3. सार्वजनिक बादलों पर MongoDB प्रदर्शन की तुलना करना:AWS, Azure और DigitalOcean

  4. MongoDb एकत्रीकरण:सरणी -1 और सरणी -2 दिए जाने पर मैं किसी अन्य सरणी -2 के आधार पर सरणी -1 को कैसे समूहित कर सकता हूं?

  5. सेकेंडरी से प्राइमरी में सेकेंडरी नोड को बढ़ावा दें