MongoDB में रेगुलर एक्सप्रेशन्स का उपयोग करके अपरकेस प्रीफिक्स वाले स्ट्रिंग्स ढूंढना
$regex` ऑपरेटर पैटर्न मिलान का समर्थन करता है। एक स्ट्रिंग की शुरुआत में 5 लगातार अपरकेस अक्षरों से मिलान करने के लिए, पैटर्न /^[A-Z]{5}/ का उपयोग करें।
नमूना डेटा बनाना
> db.upperCaseFiveLetterDemo.insertOne({"StudentFullName":"JOHN Smith"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd7edef1a844af18acdffb2") }
> db.upperCaseFiveLetterDemo.insertOne({"StudentFullName":"SAM Williams"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd7ee011a844af18acdffb3") }
> db.upperCaseFiveLetterDemo.insertOne({"StudentFullName":"CAROL Taylor"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd7ee101a844af18acdffb4") }
> db.upperCaseFiveLetterDemo.insertOne({"StudentFullName":"Bob Taylor"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd7ee351a844af18acdffb5") }
> db.upperCaseFiveLetterDemo.insertOne({"StudentFullName":"DAVID Miller"});
{ "acknowledged" : true, "insertedId" : ObjectId("5cd7ee451a844af18acdffb6") }
सभी डॉक्यूमेंट्स देखना
> db.upperCaseFiveLetterDemo.find().pretty();
आउटपुट:
{ "_id" : ObjectId("5cd7edef1a844af18acdffb2"), "StudentFullName" : "JOHN Smith" }
{ "_id" : ObjectId("5cd7ee011a844af18acdffb3"), "StudentFullName" : "SAM Williams" }
{ "_id" : ObjectId("5cd7ee101a844af18acdffb4"), "StudentFullName" : "CAROL Taylor" }
{ "_id" : ObjectId("5cd7ee351a844af18acdffb5"), "StudentFullName" : "Bob Taylor" }
{ "_id" : ObjectId("5cd7ee451a844af18acdffb6"), "StudentFullName" : "DAVID Miller" }
पहले 5 अपरकेस अक्षरों वाले रिकॉर्ड्स गिनना और ढूंढना
> db.upperCaseFiveLetterDemo.find({ StudentFullName: { $regex: /[A-Z]{5}/ } }).count();
2
> db.upperCaseFiveLetterDemo.find({ StudentFullName: { $regex: /[A-Z]{5}/ } });
आउटपुट:
{ "_id" : ObjectId("5cd7ee101a844af18acdffb4"), "StudentFullName" : "CAROL Taylor" }
{ "_id" : ObjectId("5cd7ee451a844af18acdffb6"), "StudentFullName" : "DAVID Miller" }
रेगेक्स पैटर्न व्याख्या
/[A-Z]{5}/- कहीं भी 5 लगातार अपरकेस अक्षरों से मेल खाता है (जरूरी नहीं कि शुरुआत में)।CAROL Taylor- "CAROL" (5 अपरकेस) से शुरू होता है ✓DAVID Miller- "DAVID" (5 अपरकेस) से शुरू होता है ✓JOHN Smith- "JOHN " (4 अपरकेस + स्पेस) ✗SAM Williams- "SAM W" (3 अपरकेस + स्पेस) ✗Bob Taylor- "Bob T" (मिश्रित केस) ✗
स्ट्रिंग की शुरुआत में एंकर करने के लिए
स्ट्रिंग की शुरुआत** में 5 अपरकेस अक्षरों को सख्ती से मिलान करने के लिए:
db.collection.find({ field: { $regex: /^[A-Z]{5}/ } });
केस-इनसेंसिटिव विकल्प
db.collection.find({ field: { $regex: /^[a-z]{5}/, $options: "i" } });
प्रदर्शन नोट
- लीडिंग एंकर (
^) वाले रेगेक्स इंडेक्स का उपयोग कर सकते हैं यदि फील्ड इंडेक्स्ड है। - लीडिंग एंकर के बिना रेगेक्स (
/[A-Z]{5}/) पूर्ण संग्रह स्कैन करते हैं।