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

MongoDB-তে এক কমান্ডে দুটি ফিল্ড আপডেট ও ইনক্রিমেন্ট করার পদ্ধতি


MongoDB-তে $inc অপারেটর ব্যবহার করে এক কমান্ডে একাধিক ফিল্ড ইনক্রিমেন্ট করা

MongoDB-তে একই আপডেট অপারেশনে একাধিক নমেরিক ফিল্ড ইনক্রিমেন্ট (বা ডিক্রিমেন্ট) করতে $inc অপারেটর ব্যবহার করা হয়।

ধাপ ১: ডকুমেন্টসহ কালেকশন তৈরি করুন

> db.incrementDemo.insertOne({"Value1":10,"Value2":20});
{ "acknowledged" : true, "insertedId" : ObjectId("5cbdaf07de8cc557214c0e15") }

ধাপ ২: ডকুমেন্ট প্রদর্শন করুন

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

আউটপুট:

{
  "_id" : ObjectId("5cbdaf07de8cc557214c0e15"),
  "Value1" : 10,
  "Value2" : 20
}

ধাপ ৩: এক কমান্ডে দুটি ফিল্ড ইনক্রিমেন্ট করুন

> db.incrementDemo.update({}, { $inc: { Value1: 1, Value2: 1 } });
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

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

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

ফলাফল:

{
  "_id" : ObjectId("5cbdaf07de8cc557214c0e15"),
  "Value1" : 11,
  "Value2" : 21
}

ব্যাখ্যা:

  • {} - খালি কোয়েরি (সব ডকুমেন্ট ম্যাচ, এখানে শুধু ১টি আছে)
  • {$inc: { Value1: 1, Value2: 1 }} - Value1 এবং Value2 দুটোই ১ করে বৃদ্ধি করা হয়েছে
  • $inc অপারেটরটি একসাথে একাধিক ফিল্ডে কাজ করতে পারে
  • নেগেটিভ মান দিয়ে ডিক্রিমেন্টও করা যায়: {$inc: { Value1: -5, Value2: -3 }}

ব্যবহারিক উদাহরণ:

// কাউন্টার আপডেট
db.counters.update({_id: "pageViews"}, {$inc: {views: 1, uniqueVisitors: 1}});

// ইনভেন্টরি ম্যানেজমেন্ট
db.products.update({_id: 101}, {$inc: {stock: -1, sold: 1}});

দ্রষ্টব্য: $inc শুধু নমেরিক ফিল্ডে কাজ করে। যদি ফিল্ড না থাকে, তবে সেটি তৈরি করে দিয়ে মান সেট করে (upsert: true থাকলে)।

  1. MongoDB-এ ডকুমেন্টের ফিল্ড এক্সেস করা (find() মেথড)

  2. MongoDB-এ bulkWrite() দিয়ে এক কোয়েরিতে একাধিক ডকুমেন্ট আপডেট করা

  3. MySQL-এ ডেটা আপডেট করে ১ বছর বৃদ্ধি করা

  4. MySQL-এ CONCAT() এবং ALTER TABLE ADD COLUMN ব্যবহার করে দুটি কলাম জড়িয়ে থার্ড কলাম আপডেট করুন