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

MongoDB में MySQL LIKE स्टेटमेंट को लागू करने के लिए क्या उपयोग किया जाना चाहिए?

MongoDB में MySQL LIKE पैटर्न मिलान के लिए REGEX का उपयोग करना

MongoDB $regex ऑपरेटर के माध्यम से रेगुलर एक्सप्रेशन्स का उपयोग करके पैटर्न मिलान का समर्थन करता है, जो MySQL के LIKE ऑपरेटर के समान कार्यक्षमता प्रदान करता है।

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

> db.likeInMongoDBDemo.insertOne({"Name" : "Sam"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd6922857806ebf1256f123") }
> db.likeInMongoDBDemo.insertOne({"Name" : "John" });
{ "acknowledged" : true, "insertedId" : ObjectId("5cd6923157806ebf1256f124") }
> db.likeInMongoDBDemo.insertOne({"Name" : "Scott"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd6924557806ebf1256f125") }
> db.likeInMongoDBDemo.insertOne({"Name" : "Sean"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd6924f57806ebf1256f126") }
> db.likeInMongoDBDemo.insertOne({"Name" : "Samuel"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd6925857806ebf1256f127") }

सभी डॉक्यूमेंट्स देखना

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

आउटपुट:

{ "_id" : ObjectId("5cd6922857806ebf1256f123"), "Name" : "Sam" }
{ "_id" : ObjectId("5cd6923157806ebf1256f124"), "Name" : "John" }
{ "_id" : ObjectId("5cd6924557806ebf1256f125"), "Name" : "Scott" }
{ "_id" : ObjectId("5cd6924f57806ebf1256f126"), "Name" : "Sean" }
{ "_id" : ObjectId("5cd6925857806ebf1256f127"), "Name" : "Samuel" }

रेगेक्स के साथ पैटर्न मिलान

"Sam" से शुरू होने वाले नाम खोजें (MySQL LIKE 'Sam%' के समान):

> db.likeInMongoDBDemo.find({"Name":{$regex:"Sam"}});

आउटपुट:

{ "_id" : ObjectId("5cd6922857806ebf1256f123"), "Name" : "Sam" }
{ "_id" : ObjectId("5cd6925857806ebf1256f127"), "Name" : "Samuel" }

सामान्य LIKE पैटर्न और उनके रेगेक्स समकक्ष

MySQL LIKEMongoDB $regexविवरण
LIKE 'Sam%'{$regex: '^Sam'}"Sam" से शुरू होता है
LIKE '%Sam'{$regex: 'Sam$'}"Sam" पर समाप्त होता है
LIKE '%Sam%'{$regex: 'Sam'}"Sam" कहीं भी होता है
LIKE '_am'{$regex: '^.am$'}कोई भी अक्षर + "am" (3 अक्षर)
LIKE 'S_m'{$regex: '^S.m$'}"S" + कोई भी अक्षर + "m"

केस-इनसेंसिटिव खोज

> db.likeInMongoDBDemo.find({ "Name": { $regex: "sam", $options: "i" } });

प्रदर्शन विचार

  • एंकर रेगेक्स (^ से शुरू) इंडेक्स का उपयोग कर सकते हैं यदि फील्ड इंडेक्स्ड है।
  • लीडिंग वाइल्डकार्ड (%text या .*text) इंडेक्स का उपयोग नहीं कर सकते - पूर्ण संग्रह स्कैन ट्रिगर करते हैं।
  • बड़े डेटासेट्स पर टेक्स्ट खोज के लिए, MongoDB टेक्स्ट इंडेक्स का उपयोग करने पर विचार करें।
  1. MySQL Workbench में कॉलम फ्लैग का क्या अर्थ है? MySQL Workbench में कॉलम फ्लैग का क्या अर्थ है?

    MySQL Workbench कॉलम फ्लैग: पूर्ण संदर्भ MySQL Workbench में टेबल डिज़ाइनर में, प्रत्येक कॉलम के लिए कॉलम फ्लैग चेकबॉक्स होते हैं जो कॉलम कंस्ट्रेंट और विशेषताओं को नियंत्रित करते हैं। फ्लैग तालिका फ्लैगपूर्ण नामविवरण PKPrimary Keyकॉलम को प्राइमरी की का हिस्सा बनाता है (अद्वितीय पहचानकर्ता) NN

  1. - MySQL में WHEN क्लॉज के साथ CASE स्टेटमेंट लागू करें

    MySQL में CASE स्टेटमेंट का उपयोग सशर्त तर्क (conditional logic) लागू करने के लिए किया जाता है। यह आपको SQL क्वेरीज़ में IF-ELSE जैसी कार्यक्षमता प्रदान करता है। सिंटैक्स SELECT *, CASE WHEN आपकी_शर्त THEN आपका_स्टेटमेंट WHEN आपकी_शर्त THEN आपका_स्टेटमेंट ... E

  1. एक आधुनिक ऑफिस सूट की आदर्श विशेषताएं एक आधुनिक ऑफिस सूट की आदर्श विशेषताएं

    वेब ऐप्स के बीच, जो न्यूनतम होने की प्रवृत्ति रखते हैं, लोकप्रिय प्रोग्राम के बच्चों-उन्मुख स्ट्रिप्ड-डाउन संस्करण और बड़े पैमाने पर सजाए गए KDE-केंद्रित ऑफिस सूट, जो शायद स्पेक्ट्रम के दूर छोर का प्रतिनिधित्व करते हैं, आम उपयोगकर्ता को दस्तावेज़ लिखने और सामान प्रस्तुत करने के लिए सबसे अच्छा प्रोग्