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

MongoDB दस्तावेज़ में विशेष वर्णों वाली स्ट्रिंग कैसे खोजें?


रेगेक्स में विशेष वर्णों को एस्केप करना

MongoDB में रेगेक्स का उपयोग करके खोज करते समय, विशेष वर्णों (जैसे $, ., *, आदि) को बैकस्लैश (\) से एस्केप करना होगा।

उदाहरण: '$' चरित्र वाले UserId के साथ दस्तावेज़

> db.searchDocumentWithSpecialCharactersDemo.insertOne({"UserId":"Smith$John123","UserFirstName":"John","UserLastName":"Smith"}); 
{ "acknowledged" : true, "insertedId" : ObjectId("5c987b98330fd0aa0d2fe4b1") }
> db.searchDocumentWithSpecialCharactersDemo.insertOne({"UserId":"Taylor$Carol983","UserFirstName":"Carol","UserLastName":"Taylor"}); 
{ "acknowledged" : true, "insertedId" : ObjectId("5c987bdb330fd0aa0d2fe4b2") }
> db.searchDocumentWithSpecialCharactersDemo.insertOne({"UserId":"Doe$John999","UserFirstName":"John","UserLastName":"Doe"}); 
{ "acknowledged" : true, "insertedId" : ObjectId("5c987bee330fd0aa0d2fe4b3") }
> db.searchDocumentWithSpecialCharactersDemo.insertOne({"UserId":"Miller$David555","UserFirstName":"David","UserLastName":"Miller"}); 
{ "acknowledged" : true, "insertedId" : ObjectId("5c987c01330fd0aa0d2fe4b4") }

सभी दस्तावेज़ देखना

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

"$John" वाली स्ट्रिंग खोजना

रेगेक्स में $ को \$ के रूप में एस्केप करें:

> db.searchDocumentWithSpecialCharactersDemo.find({ UserId : /.*\$John.*/i }).pretty();

आउटपुट:


महत्वपूर्ण:

  • /.../i: केस-इनसेंसिटिव रेगेक्स।
  • \$: शाब्दिक '$' चरित्र से मेल खाता है (अन्यथा रेगेक्स में 'स्ट्रिंग का अंत' दर्शाता है)।
  • .*: किसी भी वर्ण के शून्य या अधिक घटनाओं से मेल खाता है।

अन्य विशेष वर्णों (., *, +, ?, ^, $, {, }, [, ], |, (, ), \) के लिए भी इसी तरह एस्केप करें।

  1. - MongoDB में केस-इनसेंसिटिव खोज

    केस-इनसेंसिटिव खोज के लिए, find() मेथड में regex का उपयोग करें। सिंटैक्स निम्न है: db.demo572.find({yourFieldName : { $regex:/^yourValue$/i}}); उपरोक्त सिंटैक्स को समझने के लिए, आइए दस्तावेजों के साथ एक कलेक्शन बनाते हैं: > db.demo572.insertOne({CountryName:US}); { acknowledged : true, insertedI

  1. - MySQL में विशेष वर्णों वाले विशिष्ट स्ट्रिंग का चयन कैसे करें?

    MySQL में विशेष वर्णों वाले स्ट्रिंग चुनना: REPLACE और LIKE जब स्ट्रिंग में एपोस्ट्रोफी () जैसे विशेष वर्ण हों, तो उन्हें खोजने के लिए REPLACE() फंक्शन का उपयोग करके विशेष वर्णों को हटाकर तुलना कर सकते हैं। उदाहरण: MySQLs जैसे स्ट्रिंग खोजें टेबल बनाएं: CREATE TABLE DemoTable (Title TEXT); INSERT I

  1. - MySQL में REGEXP का उपयोग करके स्ट्रिंग में विशिष्ट वर्ण खोजें

    REGEXP ऑपरेटर का उपयोग करके जांचें कि क्या कोई स्ट्रिंग किसी विशेष क्रम में वर्णों के अनुक्रम को समाहित करती है। टेबल बनाना और डेटा डालना CREATE TABLE DemoTable (Value VARCHAR(50)); Query OK, 0 rows affected (3.92 sec) INSERT INTO DemoTable VALUES(XYSJGHAKLMVDFFSA),(PQRSTJAVAL),(SJATUVAK),(JSTUV