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

MongoDB में $toLower का उपयोग करके फ़ील्ड मान कैसे अपडेट करें?


एग्रीगेशन में $toLower vs शेल लूप

MongoDB 4.0+ में एग्रीगेशन पाइपलाइन के लिए $toLower ऑपरेटर है, लेकिन सीधे अपडेट कमांड में इसका उपयोग नहीं किया जा सकता। मौजूदा दस्तावेज़ों को अपडेट करने के लिए, शेल में forEach लूप का उपयोग करके प्रत्येक दस्तावेज़ पढ़ें, मान बदलें, और save() या updateOne() से सहेजें।

उदाहरण: नमूना डेटा

> db.toLowerDemo.insertOne({"StudentId":101,"StudentName":"John"}); 
{ "acknowledged" : true, "insertedId" : ObjectId("5c9b1b4515e86fd1496b38bf") }
> db.toLowerDemo.insertOne({"StudentId":102,"StudentName":"Larry"}); 
{ "acknowledged" : true, "insertedId" : ObjectId("5c9b1b4b15e86fd1496b38c0") }
> db.toLowerDemo.insertOne({"StudentId":103,"StudentName":"CHris"}); 
{ "acknowledged" : true, "insertedId" : ObjectId("5c9b1b5115e86fd1496b38c1") }
> db.toLowerDemo.insertOne({"StudentId":104,"StudentName":"ROBERT"}); 
{ "acknowledged" : true, "insertedId" : ObjectId("5c9b1b5a15e86fd1496b38c2") }

लूप के साथ लोअरकेस में अपडेट करना

> db.toLowerDemo.find().forEach( 
    function(doc) { 
        doc.StudentName = doc.StudentName.toLowerCase(); 
        db.toLowerDemo.save(doc); 
    } 
);

सत्यापन

> db.toLowerDemo.find().pretty();

आउटपुट:


आधुनिक विकल्प (MongoDB 4.2+): updateMany के साथ एग्रीगेशन पाइपलाइन का उपयोग करें:

db.toLowerDemo.updateMany(
  {}, 
  [ { $set: { StudentName: { $toLower: "$StudentName" } } } ]
);

यह सर्वर-साइड पर सभी दस्तावेज़ों को कुशलता से अपडेट करता है बिना क्लाइंट-राउंडट्रिप के।

  1. - Java का उपयोग करके MongoDB कलेक्शन कैसे बनाएं?

    आप MongoDB में db.createCollection() मेथड का उपयोग करके कलेक्शन बना सकते हैं। सिंटैक्स db.createCollection(name, options) जहां db डेटाबेस है। name वह कलेक्शन का नाम है जिसे आप बनाना चाहते हैं। Option वैकल्पिक पैरामीटर्स का सेट है जैसे capped, auto indexed, size और max। उदाहरण > use myDatabase

  1. - Java का उपयोग करके MongoDB कलेक्शन में एकाधिक डॉक्यूमेंट्स कैसे अपडेट करें?

    updateMany() मेथड का उपयोग करके आप एक कलेक्शन के सभी डॉक्यूमेंट्स को अपडेट कर सकते हैं। सिंटैक्स db.COLLECTION_NAME.update(<filter>, <update>) Java में com.mongodb.client.MongoCollection इंटरफेस आपको उसी नाम का एक मेथड प्रदान करता है। इस मेथड का उपयोग करके आप एक बार में कलेक्शन में एकाध

  1. - Java का उपयोग करके MongoDB कलेक्शन में मौजूदा डॉक्यूमेंट कैसे अपडेट करें?

    update() मेथड मौजूदा डॉक्यूमेंट में मानों को अपडेट करता है। सिंटैक्स db.COLLECTION_NAME.update(SELECTION_CRITERIA, UPDATED_DATA) Java में, आप com.mongodb.client.MongoCollection इंटरफेस के updateOne() मेथड का उपयोग करके एकल डॉक्यूमेंट अपडेट कर सकते हैं। इस मेथड को आपको फ़िल्टर और अपडेट के लिए मान पा