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

MongoDB-এ অ্যারে অবজেক্টের নির্দিষ্ট এলিমেন্টের মান ইনক্রিমেন্ট করা

অ্যারে অবজেক্টের নির্দিষ্ট এলিমেন্টের মান বাড়াতে $inc অপারেটর ব্যবহার করুন। একটি কালেকশন তৈরি করুন:

> db.demo506.insertOne({"details":[{id:1,Quantity:4},{id:2,Quantity:3},{id:3,Quantity:2},{id:4,Quantity:7}]});
{ "acknowledged" : true, "insertedId" : ObjectId("5e882ed6987b6e0e9d18f576") }

find().pretty() দিয়ে ডকুমেন্ট দেখান:

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

আউটপুট:

{ "_id" : ObjectId("5e882ed6987b6e0e9d18f576"), "details" : [ { "id" : 1, "Quantity" : 4 }, { "id" : 2, "Quantity" : 3 }, { "id" : 3, "Quantity" : 2 }, { "id" : 4, "Quantity" : 7 } ] }

id: 2 가진 এলিমেন্টের Quantity ১০ বাড়াতে কোয়েরি:

> db.demo506.update({"details.id":2},{$inc:{"details.$.Quantity":10}});
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

আপডেটের পর ডকুমেন্ট দেখান:

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

আউটপুট:

{ "_id" : ObjectId("5e882ed6987b6e0e9d18f576"), "details" : [ { "id" : 1, "Quantity" : 4 }, { "id" : 2, "Quantity" : 13 }, { "id" : 3, "Quantity" : 2 }, { "id" : 4, "Quantity" : 7 } ] }

ব্যাখ্যা: পজিশনাল $ অপারেটরটি কোয়ারি শর্ত (details.id: 2) মিলে যাওয়া অ্যারে এলিমেন্টকে পয়েন্ট করে। $inc দিয়ে সেই এলিমেন্টের Quantity ফিল্ড ১০ বাড়ানো হয়েছে।

  1. MongoDB-এ অ্যারে-র ভেতর রেঞ্জ (Range) কোয়েরি: $gt এবং $lt ব্যবহার

  2. MongoDB-এ অ্যারেতে অবজেক্টের অংশ থেকে কুয়েরি করা

  3. MongoDB-তে নির্দিষ্ট কী দিয়ে অ্যারেতে অবজেক্ট আপডেট করা

  4. MongoDB-এ অ্যারেতে নির্দিষ্ট মান রিপ্লেস করা (Positional $ ও $set)