MongoDB में आंशिक अपडेट: $set के साथ चयनित फ़ील्ड्स संशोधित करना
$set ऑपरेटर निर्दिष्ट फ़ील्ड्स के मान सेट करता है। यदि फ़ील्ड मौजूद नहीं है, तो यह बनाता है। अन्य फ़ील्ड्स अपरिवर्तित रहती हैं। यह पूरे दस्तावेज़ प्रतिस्थापन से बचने का मानक तरीका है।
नमूना डेटा
> db.demo352.insertOne({"Name": "Chris"});
{ "acknowledged": true, "insertedId": ObjectId("5e55510af8647eb59e5620ba") }
> db.demo352.insertOne({"Name": "David"});
{ "acknowledged": true, "insertedId": ObjectId("5e55510ef8647eb59e5620bb") }
> db.demo352.insertOne({"Name": "Bob"});
{ "acknowledged": true, "insertedId": ObjectId("5e555112f8647eb59e5620bc") }
> db.demo352.insertOne({"Name": "Mike"});
{ "acknowledged": true, "insertedId": ObjectId("5e555115f8647eb59e5620bd") }
क्वेरी: Name "David" को "Robert" में बदलना
> db.demo352.update({Name: "David"}, {$set: {"Name": "Robert"}});
WriteResult({ "nMatched": 1, "nUpserted": 0, "nModified": 1 })
परिणाम
{ "Name": "Chris" }
{ "Name": "Robert" } // अपडेट किया गया
{ "Name": "Bob" }
{ "Name": "Mike" }
केवल मिलान वाले दस्तावेज़ का Name फ़ील्ड बदला गया। आधुनिक सिंटैक्स: updateOne() (एकल) या updateMany() (एकाधिक) का उपयोग करें। update() विरासत मेथड है।