आप इसे अपडेट नहीं कर सकते लेकिन आप एक नई आईडी सेव कर सकते हैं और पुरानी आईडी को हटा सकते हैं। MongoDB के _id को अपडेट करने के लिए कुछ चरणों का पालन करें। चरण इस प्रकार हैं:
चरण1 :पहले चरण में, आपको ObjectId को एक वेरिएबल में स्टोर करना होगा।
anyVariableName=db.yourCollectionName.findOne({_id:yourObjectIdValue)});
चरण 2 :दूसरे चरण में, आपको एक नई आईडी सेट करनी होगी।
yourDeclaredVariableName._id=yourNewObjectIdValue;
चरण 3 :तीसरे चरण में, आपको एक दस्तावेज़ पर नई आईडी डालने की आवश्यकता है।
db.yourCollectionName.insert(yourDeclaredVariableName);
चरण 4 :चौथे चरण में आपको पुरानी आईडी को हटाना होगा।
db.yourCollectionName.remove({_id:yourOldObjectIdValue)});
उपरोक्त चरणों को समझने के लिए, हम दस्तावेज़ के साथ एक संग्रह बनाते हैं। दस्तावेज़ के साथ संग्रह बनाने की क्वेरी इस प्रकार है:
> db.updateIdDemo.insertOne({"StudentName":"Robert"}); { "acknowledged" : true, "insertedId" : ObjectId("5c6ebfec6fd07954a4890683") } > db.updateIdDemo.insertOne({"StudentName":"Chris"}); { "acknowledged" : true, "insertedId" : ObjectId("5c6ebff66fd07954a4890684") } > db.updateIdDemo.insertOne({"StudentName":"Maxwell"}); { "acknowledged" : true, "insertedId" : ObjectId("5c6ebfff6fd07954a4890685") }
संग्रह से सभी दस्तावेज़ों को ढूँढें () विधि की सहायता से प्रदर्शित करें। क्वेरी इस प्रकार है:
> db.updateIdDemo.find().pretty();
निम्न आउटपुट है:
{ "_id" : ObjectId("5c6ebfec6fd07954a4890683"), "StudentName" : "Robert" } { "_id" : ObjectId("5c6ebff66fd07954a4890684"), "StudentName" : "Chris" } { "_id" : ObjectId("5c6ebfff6fd07954a4890685"), "StudentName" : "Maxwell" }
MongoDB दस्तावेज़ के _id को अद्यतन करने के लिए निम्नलिखित क्वेरी है:
Step1: > myId=db.updateIdDemo.findOne({_id:ObjectId("5c6ebfec6fd07954a4890683")}); { "_id" : ObjectId("5c6ebfec6fd07954a4890683"), "StudentName" : "Robert" } Step 2: > myId._id=ObjectId("5c6ebfec6fd07954a4890689"); ObjectId("5c6ebfec6fd07954a4890689") Step 3: > db.updateIdDemo.insert(myId); WriteResult({ "nInserted" : 1 }) Step 4: > db.updateIdDemo.remove({_id:ObjectId("5c6ebfec6fd07954a4890683")}); WriteResult({ "nRemoved" : 1 })
आइए देखें कि _id अपडेट किया गया है या नहीं। संग्रह से सभी दस्तावेज़ों को खोजने () विधि की सहायता से प्रदर्शित करें:
> db.updateIdDemo.find().pretty();
निम्न आउटपुट है:
{ "_id" : ObjectId("5c6ebff66fd07954a4890684"), "StudentName" : "Chris" } { "_id" : ObjectId("5c6ebfff6fd07954a4890685"), "StudentName" : "Maxwell" } { "_id" : ObjectId("5c6ebfec6fd07954a4890689"), "StudentName" : "Robert" }
नमूना आउटपुट देखें, “StudentName”:”Robert” का _id बदल दिया गया है।