MongoDB
अपडेट ऑपरेटर
खोज…
वाक्य - विन्यास
- {$ सेट: {<field1>: <value1>, <field2>: <value2>, ...}}
पैरामीटर
मापदंडों | अर्थ |
---|---|
क्षेत्र का नाम | फ़ील्ड अपडेट किया जाएगा: { name : 'Tom'} |
targetVaule | मान फ़ील्ड को सौंपा जाएगा: {name: 'Tom' } |
टिप्पणियों
$ सेट ऑपरेटर के लिए संदर्भ: आधिकारिक वेबसाइट पर $ सेट
दस्तावेज़ में निर्दिष्ट फ़ील्ड (ओं) को अपडेट करने के लिए $ सेट ऑपरेटर
I.Overview
MongoDB और RDBMS के बीच एक महत्वपूर्ण अंतर है MongoDB में कई प्रकार के ऑपरेटर हैं। उनमें से एक अपडेट ऑपरेटर है, जो अपडेट स्टेटमेंट में उपयोग किया जाता है।
II। क्या होगा यदि हम अपडेट ऑपरेटरों का उपयोग नहीं करते हैं?
मान लीजिए कि हमारे पास छात्र जानकारी संग्रहीत करने के लिए एक छात्र संग्रह है (तालिका दृश्य):
एक दिन आपको एक नौकरी मिलती है जिसे टॉम के लिंग को "एम" से "एफ" में बदलने की आवश्यकता होती है। यह आसान है, है ना? तो आप अपने RDBMS अनुभव के आधार पर बहुत जल्दी नीचे बयान लिखते हैं:
db.student.update(
{name: 'Tom'}, // query criteria
{sex: 'F'} // update action
);
हमने टॉम की उम्र और नाम खो दिया! इस उदाहरण से, हम जान सकते हैं कि यदि अपडेट स्टेटमेंट में कोई भी अपडेट ऑपरेटर के बिना है तो पूरे दस्तावेज़ को ओवरराइड किया जाएगा । यह MongoDB का डिफ़ॉल्ट व्यवहार है।
III। $ सेट ऑपरेटर
यदि हम टॉम के दस्तावेज़ में केवल 'सेक्स' क्षेत्र को बदलना चाहते हैं, तो हम यह निर्दिष्ट $set
लिए $set
का उपयोग कर सकते हैं कि हम किस क्षेत्र को देखना चाहते हैं:
db.student.update(
{name: 'Tom'}, // query criteria
{$set: {sex: 'F'}} // update action
);
$set
का मूल्य एक वस्तु है, इसके क्षेत्र उन क्षेत्रों के लिए हैं जिन्हें आप दस्तावेजों में अपडेट करना चाहते हैं, और इन क्षेत्रों के मूल्य लक्ष्य मान हैं।
इसके अलावा, यदि आप एक ही समय में 'सेक्स' और 'उम्र' दोनों को बदलना चाहते हैं, तो आप उन्हें $set
जोड़ सकते हैं:
db.student.update(
{name: 'Tom'}, // query criteria
{$set: {sex: 'F', age: 40}} // update action
);