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

MongoDB में स्ट्रिंग वैल्यू से व्हाइट स्पेस (लीडिंग और ट्रेलिंग) कैसे हटाएं?

MongoDB में JavaScript trim() का उपयोग करके स्ट्रिंग्स से व्हाइटस्पेस हटाना

MongoDB में एक बिल्ट-इन ट्रिम फंक्शन नहीं है जो सीधे क्वेरी भाषा में उपलब्ध हो (MongoDB 4.4 से पहले)। हालांकि, आप forEach() के साथ JavaScript के .trim() मेथड का उपयोग करके डॉक्यूमेंट्स को पुनरावृत्त कर सकते हैं और स्ट्रिंग फील्ड्स को अपडेट कर सकते हैं।

नमूना डेटा बनाना

> db.removingWhiteSpaceDemo.insertOne({"Title":" Introduction to java "});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd66f387924bb85b3f4894c") }

अपडेट से पहले डॉक्यूमेंट देखना

> db.removingWhiteSpaceDemo.find();

आउटपुट:

{ "_id" : ObjectId("5cd66f387924bb85b3f4894c"), "Title" : " Introduction to java " }

forEach() के साथ व्हाइटस्पेस हटाना

> db.removingWhiteSpaceDemo.find({}, { "Title": 1 }).forEach(function(myDocument) {
  myDocument.Title = myDocument.Title.trim();
  db.removingWhiteSpaceDemo.update(
    { "_id": myDocument._id },
    { "$set": { "Title": myDocument.Title } }
  );
});

परिणाम वेरिफाई करना

> db.removingWhiteSpaceDemo.find();

आउटपुट:

{ "_id" : ObjectId("5cd66f387924bb85b3f4894c"), "Title" : "Introduction to java" }

व्याख्या

  • find({}, { Title: 1 }) - केवल _id और Title फील्ड प्रोजेक्ट करता है।
  • forEach() - प्रत्येक डॉक्यूमेंट पर पुनरावृति करता है।
  • .trim() - JavaScript स्ट्रिंग मेथड जो लीडिंग/ट्रेलिंग व्हाइटस्पेस हटाता है।
  • update() के साथ $set - डेटाबेस में साफ किया गया मान सहेजता है।

आधुनिक विकल्प (MongoDB 4.4+)

MongoDB 4.4 से शुरू होकर, आप एग्रीगेशन पाइपलाइन में $trim ऑपरेटर का उपयोग कर सकते हैं:

db.collection.aggregate([
  { $set: { Title: { $trim: { input: "$Title" } } } },
  { $merge: { into: "collection" } }
]);

महत्वपूर्ण विचार

  • forEach() दृष्टिकोण क्लाइंट-साइड पर प्रत्येक डॉक्यूमेंट को प्रोसेस करता है - बड़े कलेक्शन के लिए धीमा।
  • उत्पादन वातावरण के लिए, सर्वर-साइड प्रोसेसिंग के लिए $trim (MongoDB 4.4+) या बल्क ऑपरेशन्स का उपयोग करें।
  • बड़े पैमाने पर अपडेट चलाने से पहले हमेशा बैकअप लें या टेस्ट कलेक्शन पर वेरिफाई करें।
  1. - C# में स्ट्रिंग को ट्रिम करें (अग्रणी और अनुगामी स्पेस हटाएं)

    C# में स्ट्रिंग को ट्रिम करने के लिए, नियमित अभिव्यक्ति (regular expression) का उपयोग करें।सबसे पहले, रेगेक्स के लिए पैटर्न सेट करें:string pattern = \\s+;मान लीजिए निम्नलिखित हमारा स्ट्रिंग है जिसमें अग्रणी और अनुगामी स्पेस हैं:string input = Welcome User ;अब रेगेक्स का उपयोग करके, पैटर्न सेट करें

  1. - पायथन में स्ट्रिंग से सभी विशेष वर्ण, विराम चिह्न और स्पेस कैसे हटाएं

    स्ट्रिंग से सभी विशेष वर्ण, विराम चिह्न और स्पेस हटाने के लिए, स्ट्रिंग पर पुनरावृत्ति करें और सभी नॉन-अल्फान्यूमेरिक वर्णों को फ़िल्टर करें। उदाहरण के लिए: >>> string = Hello $#! People Whitespace 7331 >>> .join(e for e in string if e.isalnum()) HelloPeopleWhitespace7331 नॉन-अल्

  1. - पायथन में स्ट्रिंग से सभी ट्रेलिंग और लीडिंग व्हाइटस्पेस कैसे हटाएं?

    स्ट्रिंग में सभी ट्रेलिंग और लीडिंग व्हाइटस्पेस को हटाने के लिए, हम स्ट्रिंग क्लास में strip() मेथड का उपयोग कर सकते हैं जो इन दोनों व्हाइटस्पेस से छुटकारा दिलाता है। आप इसका उपयोग निम्न प्रकार से कर सकते हैं: >>> Hello People .strip() Hello People यदि आप केवल लीडिंग या ट्रेलिंग व्हाइटस्