FindOneAndUpdate() का उपयोग फ़िल्टर और सॉर्ट मानदंड के आधार पर एकल दस्तावेज़ को अपडेट करने के लिए किया जाता है अर्थात -
db.collection.findOneAndUpdate(filter, update, options)
आइए दस्तावेजों के साथ एक संग्रह बनाएं -
> db.demo328.insertOne({Name:"Chris",Marks:67}); { "acknowledged" : true, "insertedId" : ObjectId("5e516b19f8647eb59e56207a") } > db.demo328.insertOne({Name:"David",Marks:78}); { "acknowledged" : true, "insertedId" : ObjectId("5e516b24f8647eb59e56207b") } > db.demo328.insertOne({Name:"Bob",Marks:97}); { "acknowledged" : true, "insertedId" : ObjectId("5e516b2bf8647eb59e56207c") }
संग्रह से सभी दस्तावेज़ों को खोजने () विधि की सहायता से प्रदर्शित करें -
> db.demo328.find();
यह निम्नलिखित आउटपुट देगा -
{ "_id" : ObjectId("5e516b19f8647eb59e56207a"), "Name" : "Chris", "Marks" : 67 } { "_id" : ObjectId("5e516b24f8647eb59e56207b"), "Name" : "David", "Marks" : 78 } { "_id" : ObjectId("5e516b2bf8647eb59e56207c"), "Name" : "Bob", "Marks" : 97 }
FindOneAndUpdate() के साथ अद्यतन करने के लिए क्वेरी निम्नलिखित है। यहां, हम एक विशिष्ट दस्तावेज़ के फ़ील्ड मार्क्स को बढ़ा रहे हैं -
> db.demo328.findOneAndUpdate({Name:"David"},{ $inc: { "Marks" : 10} }); { "_id" : ObjectId("5e516b24f8647eb59e56207b"), "Name" : "David", "Marks" : 78 }
संग्रह से सभी दस्तावेज़ों को खोजने () विधि की सहायता से प्रदर्शित करें -
> db.demo328.find();
यह निम्नलिखित आउटपुट देगा -
{ "_id" : ObjectId("5e516b19f8647eb59e56207a"), "Name" : "Chris", "Marks" : 67 } { "_id" : ObjectId("5e516b24f8647eb59e56207b"), "Name" : "David", "Marks" : 88 } { "_id" : ObjectId("5e516b2bf8647eb59e56207c"), "Name" : "Bob", "Marks" : 97 }