আপনি এটি আপডেট করতে পারবেন না কিন্তু আপনি একটি নতুন আইডি সংরক্ষণ করতে পারেন এবং পুরানো আইডি মুছে দিতে পারেন। MongoDB ডকুমেন্টের _id আপডেট করার জন্য কিছু ধাপ অনুসরণ করুন। ধাপগুলো নিচে:
Step 1: প্রথম ধাপে, আপনাকে ObjectId একটি ভেরিয়েবলে সংরক্ষণ করতে হবে।
anyVariableName=db.yourCollectionName.findOne({_id:yourObjectIdValue)});
Step 2: দ্বিতীয় ধাপে, আপনাকে একটি নতুন আইডি সেট করতে হবে।
yourDeclaredVariableName._id=yourNewObjectIdValue;
Step 3: তৃতীয় ধাপে, আপনাকে ডকুমেন্টে নতুন আইডি ইনসার্ট করতে হবে।
db.yourCollectionName.insert(yourDeclaredVariableName);
Step 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") }
find() মেথডের সাহায্যে কালেকশন থেকে সব ডকুমেন্ট দেখান। কুয়েরি:
> 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 আপডেট হয়েছে কিনা। find() মেথডের সাহায্যে কালেকশন থেকে সব ডকুমেন্ট দেখান:
> db.updateIdDemo.find().pretty();
আউটপুট:
{ "_id" : ObjectId("5c6ebff66fd07954a4890684"), "StudentName" : "Chris" }
{ "_id" : ObjectId("5c6ebfff6fd07954a4890685"), "StudentName" : "Maxwell" }
{ "_id" : ObjectId("5c6ebfec6fd07954a4890689"), "StudentName" : "Robert" }
নমুনা আউটপুট দেখুন, "StudentName":"Robert" এর _id পরিবর্তন হয়েছে।