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

MongoDB में अपडेट ऑपरेशन का उपयोग करके फ़ील्ड को सरणी में कैसे बदलें?

MongoDB में फील्ड को सरणी में बदलना

कभी-कभी आपको किसी मौजूदा सिंगल-वैल्यू फ़ील्ड को सरणी में बदलने की आवश्यकता होती है ताकि बाद में उसमें एकाधिक मान संग्रहीत किए जा सकें। MongoDB में इसके लिए forEach() लूप के अंदर update() ऑपरेशन और $set ऑपरेटर का उपयोग किया जाता है।

उदाहरण: प्रारंभिक डेटा

हम demo18 संग्रह में एक डॉक्यूमेंट डालते हैं जहां StudentName एक स्ट्रिंग है।

> db.demo18.insertOne({"StudentName": "John"});
{ "acknowledged": true, "insertedId": ObjectId("5e1387fc55d0fc6657d21f0e") }
> db.demo18.find();
{ "_id": ObjectId("5e1387fc55d0fc6657d21f0e"), "StudentName": "John" }

फील्ड को सरणी में बदलने की क्वेरी

हम कर्सर पर forEach() का उपयोग करके प्रत्येक डॉक्यूमेंट को पुनरावृत्त करते हैं और $set के साथ StudentName को उसके वर्तमान मान वाली सरणी में अपडेट करते हैं।

> db.demo18.find().forEach(function(myDocument) {
    db.demo18.update(
        { _id: myDocument._id },
        { "$set": { "StudentName": [myDocument.StudentName] } }
    );
})

परिणाम सत्यापित करना

> db.demo18.find();
{ "_id": ObjectId("5e1387fc55d0fc6657d21f0e"), "StudentName": [ "John" ] }

अब StudentName फ़ील्ड एक सरणी ["John"] है। यह दृष्टिकोण तब उपयोगी होता है जब आप स्कीमा विकसित कर रहे हों और किसी फ़ील्ड को एकाधिक मानों का समर्थन करने के लिए माइग्रेट करना चाहते हों।

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

    MongoDB में findOneAndUpdate(): एटॉमिक खोज और अपडेट findOneAndUpdate() एक ही एटॉमिक ऑपरेशन में एक दस्तावेज़ को ढूंढता है, अपडेट करता है, और पुराना दस्तावेज़ वापस करता है (डिफ़ॉल्ट रूप से)। यह रेस कंडीशन से बचाता है। सिंटैक्स db.collection.findOneAndUpdate(filter, update, options) नमूना डेटा >

  1. - MongoDB में सरणी में एकाधिक तत्व कैसे अपडेट करें?

    MongoDB में (संस्करण 3.6+) सरणी के सभी तत्वों को अपडेट करने के लिए, ऑल स्थितीय ऑपरेटर $[] का उपयोग करें। यह फिल्टर से मेल खाने वाले दस्तावेज़ में निर्दिष्ट सरणी के हर तत्व पर अपडेट लागू करता है। उदाहरण: सर्वर लॉग सरणी वाला दस्तावेज़ > db.demo385.insertOne({ ServerLogs: [ { status: In

  1. - MongoDB में ऐरे के अंदर एलिमेंट्स कैसे अपडेट करें?

    ऐरे के अंदर एलिमेंट्स अपडेट करने के लिए MongoDB में $set का उपयोग करें। नमूना डेटा बनाना (CollegeDetails ऐरे) db.demo494.insertOne( { CollegeDetails : [ { CollegeName : MIT, Fees : 80000 }, { CollegeName : SU, Fees : 90000 } ] } ) अपडेट से पहले दस्तावेज़ देखना db.demo494.find().prett