MongoDB में स्ट्रिंग पैटर्न मिलान के लिए रेगुलर एक्सप्रेशन (regex) का उपयोग करें। यह केस-सेंसिटिव और केस-इनसेंसिटिव दोनों खोज का समर्थन करता है।
उदाहरण
विभिन्न केस में नाम वाले दस्तावेज़ बनाएं:
> db.workingOfRegularExpressionDemo.insertOne({ "StudentDetails": { "StudentName": "John" }, "StudentAge": 21 });
{ "acknowledged" : true, "insertedId" : ObjectId("5cf227acb64a577be5a2bc07") }
> db.workingOfRegularExpressionDemo.insertOne({ "StudentDetails": { "StudentName": "JOHN" }, "StudentAge": 19 });
{ "acknowledged" : true, "insertedId" : ObjectId("5cf227b8b64a577be5a2bc08") }
> db.workingOfRegularExpressionDemo.insertOne({ "StudentDetails": { "StudentName": "Carol" }, "StudentAge": 20 });
{ "acknowledged" : true, "insertedId" : ObjectId("5cf227c2b64a577be5a2bc09") }
सभी दस्तावेज़ देखें:
> db.workingOfRegularExpressionDemo.find();
{ "_id" : ObjectId("5cf227acb64a577be5a2bc07"), "StudentDetails" : { "StudentName" : "John" }, "StudentAge" : 21 }
{ "_id" : ObjectId("5cf227b8b64a577be5a2bc08"), "StudentDetails" : { "StudentName" : "JOHN" }, "StudentAge" : 19 }
{ "_id" : ObjectId("5cf227c2b64a577be5a2bc09"), "StudentDetails" : { "StudentName" : "Carol" }, "StudentAge" : 20 }
केस-सेंसिटिव खोज: "JOHN"
> db.workingOfRegularExpressionDemo.find({'StudentDetails.StudentName': /JOHN/});
{ "_id" : ObjectId("5cf227b8b64a577be5a2bc08"), "StudentDetails" : { "StudentName" : "JOHN" }, "StudentAge" : 19 }
केस-इनसेंसिटिव खोज: सभी "john" वेरिएंट
> db.workingOfRegularExpressionDemo.find({'StudentDetails.StudentName': { $regex: 'JOHN', $options: 'i' }});
{ "_id" : ObjectId("5cf227acb64a577be5a2bc07"), "StudentDetails" : { "StudentName" : "John" }, "StudentAge" : 21 }
{ "_id" : ObjectId("5cf227b8b64a577be5a2bc08"), "StudentDetails" : { "StudentName" : "JOHN" }, "StudentAge" : 19 }
{ "_id" : ObjectId("5cf227c2b64a577be5a2bc09"), "StudentDetails" : { "StudentName" : "Carol" }, "StudentAge" : 20 }
रेगुलर एक्सप्रेशन विकल्प:
| विकल्प | विवरण |
|---|---|
i | केस-इनसेंसिटिव |
m | मल्टीलाइन (^ और $ लाइन ब्रेक से मेल) |
x | एक्सटेंडेड (व्हाइटस्पेस अनदेखा, टिप्पणी अनुमति) |
s | डॉट (.) न्यूलाइन से भी मेल |