শর্তানুসারে লাস্ট রো আপডেট করতে MongoDB-তে findAndModify() ব্যবহার করুন। একটি কালেকশন তৈরি করুন:
> db.demo516.insertOne({"Name":"John","Age":22,"Score":56});
{ "acknowledged" : true, "insertedId" : ObjectId("5e889fdb987b6e0e9d18f591") }
> db.demo516.insertOne({"Name":"John","Age":23,"Score":67});
{ "acknowledged" : true, "insertedId" : ObjectId("5e889ff1987b6e0e9d18f592") }
> db.demo516.insertOne({"Name":"John","Age":22,"Score":56});
{ "acknowledged" : true, "insertedId" : ObjectId("5e889ff3987b6e0e9d18f593") }
> db.demo516.insertOne({"Name":"John","Age":22,"Score":66});
{ "acknowledged" : true, "insertedId" : ObjectId("5e889ffa987b6e0e9d18f594") }
find() দিয়ে ডকুমেন্ট দেখান:
> db.demo516.find();
আউটপুট:
Name: "John"এবংAge: 22শর্ত মেনে যাওয়া লাস্ট ডকুমেন্ট (সাম্প্রতিক _id) আপডেট করার কোয়ারি:> db.demo516.findAndModify({ query: {Name: "John", Age: 22}, sort: {_id: -1}, update: {$set: {Score: 98}}, new: true }) { "_id" : ObjectId("5e889ffa987b6e0e9d18f594"), "Name" : "John", "Age" : 22, "Score" : 98 }আপডেটের পর সব ডকুমেন্ট দেখান:
> db.demo516.find();আউটপুট:
ব্যাখ্যা:
findAndModifyঅ্যাটমিকভাবে খুঁজে আপডেট করে।sort: {_id: -1}লাস্ট ইনসার্টেড (সর্বোচ্চ _id) ডকুমেন্ট সিলেক্ট করে।new: trueআপডেটেড ডকুমেন্ট রিটার্ন করে। আধুনিক MongoDB-তেfindOneAndUpdate()ব্যবহার করা প্রিয়।