MongoDB-এ রেগুলার এক্সপ্রেশন ব্যবহার করে প্যাটার্ন ম্যাচিং
MongoDB-এ SQL-এর LIKE অপারেটরের সমতুল্য কাজ করার জন্য রেগুলার এক্সপ্রেশন (Regular Expression) ব্যবহার করা হয়। সিনট্যাক্স: /pattern/।
উদাহরণ: ছাত্রের নামের সংগ্রহ তৈরি
> db.demo26.insertOne({"StudentName":"Chris"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e14c9dc22d07d3b95082e79") }
> db.demo26.insertOne({"StudentName":"John"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e14c9e022d07d3b95082e7a") }
> db.demo26.insertOne({"StudentName":"Jones"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e14ca7222d07d3b95082e7b") }
> db.demo26.insertOne({"StudentName":"David"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e14ca7622d07d3b95082e7c") }
সমস্ত ডকুমেন্ট
> db.demo26.find();
{
"_id" : ObjectId("5e14c9dc22d07d3b95082e79"), "StudentName" : "Chris"
}
{
"_id" : ObjectId("5e14c9e022d07d3b95082e7a"), "StudentName" : "John"
}
{
"_id" : ObjectId("5e14ca7222d07d3b95082e7b"), "StudentName" : "Jones"
}
{
"_id" : ObjectId("5e14ca7622d07d3b95082e7c"), "StudentName" : "David"
}
"Jo" দিয়ে শুরু হওয়া নাম খুঁজে বের করা
> db.demo26.find({"StudentName":/Jo/});
ফলাফল
{
"_id" : ObjectId("5e14c9e022d07d3b95082e7a"), "StudentName" : "John"
}
{
"_id" : ObjectId("5e14ca7222d07d3b95082e7b"), "StudentName" : "Jones"
}
উপযোগী রেগুলার এক্সপ্রেশন প্যাটার্ন
/^Jo/- "Jo" দিয়ে শুরু হওয়া (SQL:LIKE 'Jo%')/son$/- "son" দিয়ে শেষ হওয়া (SQL:LIKE '%son')/oh/- কোথাও "oh" থাকলে (SQL:LIKE '%oh%')/Jo/i- কেস-ইনসেনসিটিভ (i ফ্ল্যাগ)
টিপ: বড় ডেটাসেটে রেগুলার এক্সপ্রেশন ধীর হতে পারে। পারফরম্যান্সের জন্য টেক্সট সার্চ বা এटलাস সার্চ ব্যবহার করুন।