Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MongoDB

MongoDB में findOneAndUpdate() का उपयोग करके एकल दस्तावेज़ अपडेट करना (दूसरा उदाहरण)

findOneAndUpdate(): एटॉमिक सिंगल-डॉक्यूमेंट अपडेट

findOneAndUpdate() फिल्टर से मेल खाने वाले पहले दस्तावेज़ को ढूंढता है, अपडेट लागू करता है, और डिफ़ॉल्ट रूप से मूल दस्तावेज़ लौटाता है। यह रेस कंडीशन-मुक्त "चेक-एंड-सेट" ऑपरेशन के लिए आदर्श है।

नमूना डेटा: डुप्लिकेट नाम

> db.demo349.insertOne({"Name": "Chris", "Marks": 56});
{ "acknowledged": true, "insertedId": ObjectId("5e55384af8647eb59e5620b4") }
> db.demo349.insertOne({"Name": "David", "Marks": 78});
{ "acknowledged": true, "insertedId": ObjectId("5e553853f8647eb59e5620b5") }
> db.demo349.insertOne({"Name": "Chris", "Marks": 89});
{ "acknowledged": true, "insertedId": ObjectId("5e55385af8647eb59e5620b6") }
> db.demo349.insertOne({"Name": "David", "Marks": 54});
{ "acknowledged": true, "insertedId": ObjectId("5e55385ff8647eb59e5620b7") }

क्वेरी: पहले "David" के Marks को 10 से बढ़ाना

> db.demo349.findOneAndUpdate({"Name": "David"}, {$inc: {Marks: 10}});
{ "_id": ObjectId("5e553853f8647eb59e5620b5"), "Name": "David", "Marks": 78 }

पहला मिलान वाला "David" (Marks 78) अपडेट हुआ। लौटाया गया दस्तावेज़ अपडेट से पहले का है।

सत्यापन

> db.demo349.find();
{ "Name": "Chris", "Marks": 56 }
{ "Name": "David", "Marks": 88 }  // 78 + 10
{ "Name": "Chris", "Marks": 89 }
{ "Name": "David", "Marks": 54 }

कौन सा दस्तावेज़ अपडेट होता है? डिफ़ॉल्ट रूप से, प्राकृतिक क्रम (इंसर्ट क्रम) में पहला। sort विकल्प का उपयोग करके नियंत्रित करें (उदाहरण: {sort: {Marks: -1}} उच्चतम Marks वाले को अपडेट करने के लिए)। returnDocument: "after" अपडेट के बाद का संस्करण लौटाता है।

  1. - MongoDB क्वेरी: नेस्टेड दस्तावेज अपडेट करें

    आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo595.insertOne({ Information: [ { _id: new ObjectId(), Name:Chris }, { _id:new ObjectId(), Name:Robert } ] }); { acknowledged : true, insertedId : ObjectId(5e93369cfd2d90c177b5bce4) } find() मेथड की मदद से कलेक्शन के सभी

  1. - MongoDB क्वेरी: नेस्टेड दस्तावेज अपडेट करें

    नेस्टेड दस्तावेज को अपडेट करने के लिए, update() का उपयोग करें और उसके भीतर डॉट नोटेशन का उपयोग करें। आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo607.insertOne({ id:1, Info1: { Name: Chris, Age: 21, Info2: { SubjectName: MongoDB, Ma

  1. - MongoDB में डॉक्यूमेंट का अधिकतम आकार क्या है?

    डॉक्यूमेंट एक कलेक्शन में एक रिकॉर्ड होता है। प्रत्येक डॉक्यूमेंट की आकार सीमा 16 MB होती है। डॉक्यूमेंट कर्ली ब्रैकेट ({}) के अंदर लपेटा होता है। आइए एक कलेक्शन बनाते हैं: > db.demo748.insertOne({_id:101,Name:Chris,Age:21}); { acknowledged : true, insertedId : 101 } > db.demo748.insertOne({_