কম্পিউটার টিউটোরিয়াল

MongoDB-এ চাইল্ড অবজেক্ট (Nested Object) আপডেট করা


MongoDB-এ এম্বেডেড (Nested) অবজেক্টের ফিল্ড আপডেট করা

MongoDB-এ একটি ডকুমেন্টের ভেতরে নেস্টেড অবজেক্ট (Embedded Document) থাকলে, তার ফিল্ড আপডেট করার জন্য $set অপারেটর দিয়ে ডট (.) নোটেশন ব্যবহার করা হয়।

১. কালেকশন ও নেস্টেড ডকুমেন্ট তৈরি

> db.demo21.insertOne({"StudentId":"STU-101","StudentDetails":{"StudentName":"Chris","StudentAge":21}});
{ "acknowledged" : true, "insertedId" : ObjectId("5e14be8922d07d3b95082e6f") }

২. আপডেটের আগে ডকুমেন্ট

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

আউটপুট:

{
  "_id" : ObjectId("5e14be8922d07d3b95082e6f"),
  "StudentId" : "STU-101",
  "StudentDetails" : {
    "StudentName" : "Chris",
    "StudentAge" : 21
  }
}

৩. চাইল্ড অবজেক্ট আপডেট করা (StudentName: "Chris" -> "Robert")

> db.demo21.update({"StudentId":'STU-101'},{$set:{'StudentDetails.StudentName':'Robert'}});
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

ব্যাখ্যা: StudentDetails.StudentName ডট নোটেশন দিয়ে নেস্টেড অবজেক্টের ফিল্ডে অ্যাক্সেস করা হয়েছে।

৪. আপডেটের পর ডকুমেন্ট

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

আউটপুট:

{
  "_id" : ObjectId("5e14be8922d07d3b95082e6f"),
  "StudentId" : "STU-101",
  "StudentDetails" : {
    "StudentName" : "Robert",
    "StudentAge" : 21
  }
}

StudentName "Chris" থেকে "Robert" হয়ে গেছে, কিন্তু StudentAge অপরিবর্তিত রয়েছে। এটি পার্শিয়াল আপডেটের সুবিধা।


  1. MongoDB-তে কন্ডিশনাল আপডেট করার পদ্ধতি

  2. MongoDB-এ ডকুমেন্ট আপডেট করার পদ্ধতি

  3. MongoDB-তে অবজেক্টের অ্যারে অনুসন্ধান করা

  4. MongoDB ডাটাবেস পুরোপুরি ক্লিয়ার করা (dropDatabase)