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

MongoDB-এ findAndModify দিয়ে ইনক্রিমেন্টের ফলাফল রিটার্ন করা

MongoDB-এ findAndModify() (বা নতুন findOneAndUpdate()) ব্যবহার করে ডকুমেন্ট আপডেট করার সাথে সাথে আপডেট হওয়া ভার্সন রিটার্ন করা যায়।

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

> db.returnResultOfIncementDemo.insertOne({"PlayerScore":98});
{ "acknowledged": true, "insertedId": ObjectId("5cd3c292edc6604c74817cda") }

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

> db.returnResultOfIncementDemo.find();
আউটপুট:
{ "_id": ObjectId("5cd3c292edc6604c74817cda"), "PlayerScore": 98 }

findAndModify দিয়ে ইনক্রিমেন্ট এবং নতুন ডকুমেন্ট রিটার্ন (new: true)

> db.returnResultOfIncementDemo.findAndModify({
  query: {},
  update: { $inc: {PlayerScore: 2} },
  new: true
});
আউটপুট (PlayerScore এখন ১০০):
{ "_id": ObjectId("5cd3c292edc6604c74817cda"), "PlayerScore": 100 }

ব্যাখ্যা:

  • query: {} — প্রথম ডকুমেন্ট সিলেক্ট করে (এখানে একটিই আছে)
  • update: {$inc: {PlayerScore: 2}} — স্কোর ২ বাড়ায়
  • new: true — আপডেট হওয়া নতুন ডকুমেন্ট রিটার্ন করে (ডিফল্ট false = পুরনো ভার্সন)

সুপারিশ: MongoDB ৩.২+ এ findOneAndUpdate({}, {$inc: {PlayerScore: 2}}, {returnNewDocument: true}) ব্যবহার করুন।

  1. MongoDB-তে অবজেক্টের অ্যারে অনুসন্ধান করা

  2. MongoDB-তে নির্দিষ্ট এম্বেডেড ডকুমেন্ট রিটার্ন করা

  3. MongoDB এগ্রিগেশন: একাধিক ফিল্ড গ্রুপ বাই করে ফলাফল বের করা ($facet)

  4. C++-এ Can I Win সমস্যা সমাধান