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

MongoDB-তে শুধু একটি ডকুমেন্টের মান ডিক্রিমেন্ট করা ($inc ব্যবহার করে)

MongoDB-এ নির্দিষ্ট ডকুমেন্টের একটি নমেরিক ফিল্ডের মান কমাতে (ডিক্রিমেন্ট) $inc অপারেটর নেগেটিভ ভ্যালু দিয়ে ব্যবহার করা হয়। শর্তও লাগানো যায়।

নমুনা ডেটা তৈরি করা

decrementingOperationDemo কালেকশনে চারটি প্রোডাক্ট ডকুমেন্ট ইনসার্ট করি।

> db.decrementingOperationDemo.insertOne({"ProductName":"Product-1","ProductPrice":756});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd7a8ae6d78f205348bc63c") }
> db.decrementingOperationDemo.insertOne({"ProductName":"Product-2","ProductPrice":890});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd7a8b86d78f205348bc63d") }
> db.decrementingOperationDemo.insertOne({"ProductName":"Product-3","ProductPrice":994});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd7a8c66d78f205348bc63e") }
> db.decrementingOperationDemo.insertOne({"ProductName":"Product-4","ProductPrice":1000});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd7a8d06d78f205348bc63f") }

সকল ডকুমেন্ট দেখানো

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

আউটপুট:

{ "_id" : ObjectId("5cd7a8ae6d78f205348bc63c"), "ProductName" : "Product-1", "ProductPrice" : 756 }
{ "_id" : ObjectId("5cd7a8b86d78f205348bc63d"), "ProductName" : "Product-2", "ProductPrice" : 890 }
{ "_id" : ObjectId("5cd7a8c66d78f205348bc63e"), "ProductName" : "Product-3", "ProductPrice" : 994 }
{ "_id" : ObjectId("5cd7a8d06d78f205348bc63f"), "ProductName" : "Product-4", "ProductPrice" : 1000 }

শর্তসাপেক্ষ ডিক্রিমেন্ট করা

শুধু Product-4 (ProductPrice > 0 হলে) এর দাম ১০ কমাতে:

> db.decrementingOperationDemo.update(
  { _id: ObjectId("5cd7a8d06d78f205348bc63f"), ProductPrice: { $gt: 0 } },
  { $inc: { ProductPrice: -10 } }
);
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

ফলাফল দেখানো

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

আউটপুট:

{ "_id" : ObjectId("5cd7a8d06d78f205348bc63f"), "ProductName" : "Product-4", "ProductPrice" : 990 }

ব্যাখ্যা: শুধু নির্দিষ্ট `_id` এবং `ProductPrice > 0` শর্ত পূরণ করলেই ডিক্রিমেন্ট হয়েছে। বাকি ডকুমেন্ট অপরিবর্তিত। $inc পজিটিভ দিলে ইনক্রিমেন্ট, নেগেটিভ দিলে ডিক্রিমেন্ট করে।

  1. MongoDB-এ নির্দিষ্ট ডকুমেন্টের ফিল্ড ইনক্রিমেন্ট করা ($inc অপারেটর)

  2. MongoDB-তে findOne() ব্যবহার করে একক ডকুমেন্ট রিট্রিভ করা

  3. MySQL-এ শুধু একটি কলামের মান আপডেট করা

  4. MySQL-এ শুধু একটি কলাম আপডেট করা