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

MongoDB-তে নেস্টেড এম্বেডেড ডকুমেন্ট আপডেট করা

MongoDB-তে UPDATE() এবং পজিশনাল ($) অপারেটর ব্যবহার করে নেস্টেড এম্বেডেড ডকুমেন্ট আপডেট

নেস্টেড ডকুমেন্ট আপডেট করতে MongoDB-তে UPDATE() এবং পজিশনাল ($) অপারেটর ব্যবহার করুন।

উদাহরণ: ডকুমেন্ট সহ কালেকশন তৈরি

> db.demo643.insertOne({
...     details : [
...         {
...             "CountryName":"US",
...             StudentDetails:[{Name:"Chris"},{SubjectName:"MySQL"}]
...         },
...         {
...             "CountryName":"UK",
...             StudentDetails:[{Name:"Bob"},{SubjectName:"Java"}]
...         }
...     ]
... }
... )
{ "acknowledged" : true, "insertedId" : ObjectId("5e9c737f6c954c74be91e6e3") }

সকল ডকুমেন্ট প্রদর্শন

> db.demo643.find();

আউটপুট

{ "_id" : ObjectId("5e9c737f6c954c74be91e6e3"), "details" : [ { "CountryName" : "US", "StudentDetails" : [ { "Name" : "Chris" }, { "SubjectName" : "MySQL" } ] }, { "CountryName" : "UK", "StudentDetails" : [ { "Name" : "Bob" }, { "SubjectName" : "Java" } ] } ] }

নেস্টেড এম্বেডেড ডকুমেন্ট আপডেট করার কুয়েরি

> db.demo643.update({"details.CountryName": "UK"}, {"$push": {"details.$.StudentDetails": {Marks:78}}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

আপডেট後の ডকুমেন্ট প্রদর্শন

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

ফলাফল

{
    "_id" : ObjectId("5e9c737f6c954c74be91e6e3"),
    "details" : [
        {
            "CountryName" : "US",
            "StudentDetails" : [
                { "Name" : "Chris" },
                { "SubjectName" : "MySQL" }
            ]
        },
        {
            "CountryName" : "UK",
            "StudentDetails" : [
                { "Name" : "Bob" },
                { "SubjectName" : "Java" },
                { "Marks" : 78 }
            ]
        }
    ]
}
  1. MongoDB-তে এমবেডেড ডকুমেন্ট কোয়েরি করা (aggregate + $unwind)

  2. MongoDB-তে এমবেডেড ডকুমেন্ট অ্যারে কোয়েরি করে নতুন এলিমেন্ট যোগ করা ($push + $nin)

  3. MongoDB-এ নেস্টেড ডকুমেন্ট থেকে শুধু কী (keys) বের করা

  4. MongoDB-এ অবজেক্টের অ্যারে থেকে নেস্টেড ডকুমেন্ট কোয়েরি করা ($elemMatch)