Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> Mongodb

MongoDB में सटीक तत्व सरणी में अद्यतन फ़ील्ड?

<घंटा/>

आप नीचे दिए गए कथन की सहायता से MongoDB में सटीक तत्व सरणी को अपडेट कर सकते हैं। वाक्य रचना इस प्रकार है:

{"yourArrayDocumentName.$.yourNestedArrayDocument.yourPosition":"yourValue"}});

उपरोक्त वाक्य रचना को समझने के लिए, आइए कुछ दस्तावेज़ों के साथ एक संग्रह बनाएँ। दस्तावेज़ के साथ संग्रह बनाने की क्वेरी इस प्रकार है:

> db.updateExactField.insertOne({"ActorId":1,,"ActorDetails":[{"ActorName":"Johnny Depp",,"MovieList":["The Tourist",,"Public Enemy"]},. .. {"एक्टरनाम":"क्रिस इवांस", "मूवीलिस्ट":["कैप्टन अमेरिका", "एवेंजर्स"]}]}); { "स्वीकार किया गया":सच, "सम्मिलित आईडी":ऑब्जेक्ट आईडी ("5c6d7f63f2db199c1278e7f1")} 

अब आप किसी संग्रह से दस्तावेज़ों को ढूँढ़ने () विधि की सहायता से प्रदर्शित कर सकते हैं। क्वेरी इस प्रकार है:

> db.updateExactField.find().pretty();

निम्न आउटपुट है:

{ "_id" :ObjectId("5c6d7f63f2db199c1278e7f1"), "ActorId" :1, "ActorDetails" :[ { "ActorName" :"Johnny Depp", "MovieList" :[ "The Tourist", "Public Enemy" ] }, { "अभिनेतानाम" :"क्रिस इवांस", "मूवीलिस्ट" :[ "कैप्टन अमेरिका", "एवेंजर्स" ] } ]}

केस 1 :यहां, सटीक सरणी तत्वों के साथ अद्यतन करें अर्थात स्थिति 3, जो अनुक्रमणिका 2 है क्योंकि सरणी 0 से शुरू होती है। क्वेरी इस प्रकार है:

> db.updateExactField.update(... {"ActorDetails.ActorName":"Chris Evans"},... {$set:... {"ActorDetails.$.MovieList.2":"Avengers:Infinity War"}});WriteResult({"nMatched" :1, "nUpserted" :0, "nModified" :1})

आइए हम संग्रह से दस्तावेज़ को खोजने () की मदद से प्रदर्शित करें। क्वेरी इस प्रकार है:

> db.updateExactField.find().pretty();

निम्न आउटपुट है:

{ "_id" :ObjectId("5c6d7f63f2db199c1278e7f1"), "ActorId" :1, "ActorDetails" :[ { "ActorName" :"Johnny Depp", "MovieList" :[ "The Tourist", "Public Enemy" ] }, { "अभिनेता का नाम":"क्रिस इवांस", "मूवीलिस्ट":[ "कैप्टन अमेरिका", "एवेंजर्स", "एवेंजर्स:इन्फिनिटी वॉर" ] } ]}

ऊपर दिए गए आउटपुट को देखें, मान “एवेंजर्स:इनफिनिट वॉर” तीसरे स्थान पर है यानी इंडेक्स 2।

केस 2 :आइए अब इंडेक्स 1 यानी पोजीशन 2 से अपडेट करते हैं। क्वेरी इस प्रकार है:

> db.updateExactField.update({"ActorDetails.ActorName":"Chris Evans"}, {$set:{"ActorDetails.$.MovieList.1":"Gifted"}});WriteResult({ "nMatched" " :1, "nUpserted" :0, "nModified" :1 })

आइए हम किसी संग्रह से दस्तावेज़ को ढूँढें () विधि की सहायता से जाँचें। क्वेरी इस प्रकार है:

> db.updateExactField.find().pretty();

निम्न आउटपुट है:

{ "_id" :ObjectId("5c6d7f63f2db199c1278e7f1"), "ActorId" :1, "ActorDetails" :[ { "ActorName" :"Johnny Depp", "MovieList" :[ "The Tourist", "Public Enemy" ] }, { "अभिनेता का नाम":"क्रिस इवांस", "मूवीलिस्ट":[ "कैप्टन अमेरिका", "गिफ्टेड", "एवेंजर्स:इन्फिनिटी वॉर" ] } ]}

उपरोक्त नमूना आउटपुट को देखें, "गिफ्टेड" मान स्थिति 2 यानी इंडेक्स 1 पर है।


  1. MongoDB में एक सरणी में एक से अधिक तत्वों को अपडेट करें?

    एकाधिक तत्वों को अद्यतन करने के लिए, $[] का उपयोग करें। $[] एक ऑल पोजिशनल ऑपरेटर है जो दर्शाता है कि अपडेट ऑपरेटर को निर्दिष्ट सरणी फ़ील्ड में सभी तत्वों को संशोधित करना चाहिए। आइए पहले दस्तावेजों के साथ एक संग्रह बनाएं - db.demo385.insertOne({ServerLogs:[... {... स्थिति:निष्क्रिय...},... {... स्थ

  1. MongoDB में एक सरणी के अंदर तत्वों को अपडेट करें?

    किसी सरणी के अंदर तत्वों को अपडेट करने के लिए, MongoDB में $set का उपयोग करें। आइए दस्तावेजों के साथ एक संग्रह बनाएं - db.demo494.insertOne(... {...... कॉलेज विवरण:[... {... कॉलेजनाम:एमआईटी,... शुल्क:80000.. },... {... कॉलेजनाम:एसयू,... फीस:90000...}...]...}...){स्वीकृत :सच, insertId :ObjectId(5e8

  1. MongoDB सरणी में तत्व कैसे निकालें?

    एक तत्व को हटाने के लिए, अद्यतन करें, और MongoDB में $pull का उपयोग करें। $pull ऑपरेटर किसी निर्दिष्ट शर्त से मेल खाने वाले मान या मान के सभी उदाहरणों को मौजूदा सरणी से हटा देता है। आइए पहले दस्तावेजों के साथ एक संग्रह बनाएं - db.demo541.insertOne({"software":{"services":["