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

MongoDB-এ অন্য একটি কীয়ের মান ভিত্তিক করে কী-ভ্যালু আপডেট করার পদ্ধতি

MongoDB-এ অ্যারেতে থাকা অবজেক্টের মধ্যে নির্দিষ্ট শর্ত পূরণ করা এলিমেন্টের অন্য ফিল্ড আপডেট করতে $elemMatch এবং $set সহ পজিশনাল $ অপারেটর ব্যবহার করুন।

উদাহরণ

অ্যারে অফ অবজেক্টস সহ ডকুমেন্ট তৈরি করুন:

> db.keyValueDemo.insertOne({
    "_id": new ObjectId(),
    "CustomerDetails": [
        { "Name": "Chris", "Age": 24 },
        { "Name": "Robert", "Age": 29 },
        { "Name": "David", "Age": 35 }
    ]
});
{ "acknowledged" : true, "insertedId" : ObjectId("5cefcf36ef71edecf6a1f6bf") }

ডকুমেন্টটি দেখুন:

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

আউটপুট:

{ "_id" : ObjectId("5cefcf36ef71edecf6a1f6bf"), "CustomerDetails" : [ { "Name" : "Chris", "Age" : 24 }, { "Name" : "Robert", "Age" : 29 }, { "Name" : "David", "Age" : 35 } ] }

Name = "David" olan এলিমেন্টের Age ৫৬ আপডেট করা

> db.keyValueDemo.update(
    { "CustomerDetails": { "$elemMatch": { "Name": "David" } } },
    { "$set": { "CustomerDetails.$.Age": 56 } }
);
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

আপডেট হওয়ার পর ডকুমেন্টটি যাচাই করুন:

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

আউটপুট:

{ "_id" : ObjectId("5cefcf36ef71edecf6a1f6bf"), "CustomerDetails" : [ { "Name" : "Chris", "Age" : 24 }, { "Name" : "Robert", "Age" : 29 }, { "Name" : "David", "Age" : 56 } ] }

ব্যাখ্যা:

  • $elemMatch — অ্যারেতে Name: "David" থাকা এলিমেন্টটি লোকেট করে।
  • CustomerDetails.$.Age — পজিশনাল $ সেই ম্যাচ করা এলিমেন্টকে পয়েন্ট করে।
  • $set — শুধু Age ফিল্ড আপডেট হয়েছে, বাকি অপরিবর্তিত।

নোট: যদি একাধিক এলিমেন্ট শর্ত পূরণ করে, তবে শুধু প্রথমটি আপডেট হবে। সবগুলো আপডেট করতে arrayFilters (MongoDB ৩.৬+) ব্যবহার করুন।

  1. MongoDB-তে প্রতিটি কর্মীর বেতন ১০% বাড়ানো

  2. MongoDB-এ নির্দিষ্ট ফিল্ড মান আপডেট করা ($set অপারেটর)

  3. MongoDB-তে রেফারেন্স কী হিসেবে ব্যবহার করে ম্যানুয়ালি মান যোগ করা ($push)

  4. জাভা প্রোগ্রাম: HashMap-এ কী দিয়ে মান আপডেট করা