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

MongoDB में सटीक तत्व सरणी में फ़ील्ड अपडेट करें

आपको 2 अवधारणाओं का उपयोग करने की आवश्यकता है:मोंगोडब का स्थितीय ऑपरेटर और केवल उस प्रविष्टि के लिए संख्यात्मक अनुक्रमणिका का उपयोग करना जिसे आप अपडेट करना चाहते हैं।

स्थितीय ऑपरेटर आपको इस तरह की स्थिति का उपयोग करने की अनुमति देता है:

{"heroes.nickname": "test"}

और फिर मिली सरणी प्रविष्टि को इस प्रकार संदर्भित करें:

{"heroes.$  // <- the dollar represents the first matching array key index

जैसा कि आप "आइटम" में दूसरी सरणी प्रविष्टि को अपडेट करना चाहते हैं, और सरणी कुंजियाँ 0 अनुक्रमित हैं - यह कुंजी 1 है।

तो:

> db.denis.insert({_id:"43434", heroes : [{ nickname : "test",  items : ["", "", ""] }, { nickname : "test2", items : ["", "", ""] }]});
> db.denis.update(
    {"heroes.nickname": "test"}, 
    {$set: {
        "heroes.$.items.1": "new_value"
    }}
)
> db.denis.find()
{
    "_id" : "43434", 
    "heroes" : [
        {"nickname" : "test", "items" : ["", "new_value", "" ]},
        {"nickname" : "test2", "items" : ["", "", "" ]}
    ]
}


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. आराम और मैच के बाद समूह सरणी

  2. MongoDB में मौजूदा फ़ील्ड के अंत में एक स्ट्रिंग जोड़ें

  3. नेवला वादे दस्तावेज कहता है कि प्रश्न वादे नहीं हैं?

  4. MongoDB में एक डेटाबेस से दूसरे डेटाबेस में संग्रह की प्रतिलिपि कैसे करें

  5. नेवला का डिफ़ॉल्ट वादा पुस्तकालय MEAN स्टैक में बहिष्कृत है