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}) ব্যবহার করুন।