MongoDB-তে রেগুলার এক্সপ্রেশন (Regex) ব্যবহার করে LIKE কোয়েরি করা
MongoDB-তে SQL-এর LIKE অপারেটরের মতো প্যাটার্ন ম্যাচিং করতে রেগুলার এক্সপ্রেশন (Regex) ব্যবহার করা হয়।
ধাপ ১: ডকুমেন্টসহ কালেকশন তৈরি করুন
> db.likeDemo.insertOne({"Name":"John",Age:32});
{ "acknowledged" : true, "insertedId" : ObjectId("5cb84984623186894665ae41") }
> db.likeDemo.insertOne({"Name":"Chris",Age:25});
{ "acknowledged" : true, "insertedId" : ObjectId("5cb84991623186894665ae42") }
> db.likeDemo.insertOne({"Name":"Carol",Age:22});
{ "acknowledged" : true, "insertedId" : ObjectId("5cb849a1623186894665ae43") }
> db.likeDemo.insertOne({"Name":"Johnny",Age:22});
{ "acknowledged" : true, "insertedId" : ObjectId("5cb849b2623186894665ae44") }
> db.likeDemo.insertOne({"Name":"James",Age:27});
{ "acknowledged" : true, "insertedId" : ObjectId("5cb849bb623186894665ae45") }
ধাপ ২: সব ডকুমেন্ট প্রদর্শন করুন
> db.likeDemo.find().pretty();
আউটপুট:
{
"_id" : ObjectId("5cb84984623186894665ae41"),
"Name" : "John",
"Age" : 32
}
{
"_id" : ObjectId("5cb84991623186894665ae42"),
"Name" : "Chris",
"Age" : 25
}
{
"_id" : ObjectId("5cb849a1623186894665ae43"),
"Name" : "Carol",
"Age" : 22
}
{
"_id" : ObjectId("5cb849b2623186894665ae44"),
"Name" : "Johnny",
"Age" : 22
}
{
"_id" : ObjectId("5cb849bb623186894665ae45"),
"Name" : "James",
"Age" : 27
}
ধাপ ৩: "Jo" দিয়ে শুরু হওয়া নামগুলো খুঁজে বের করুন (LIKE 'Jo%')
> db.likeDemo.find({Name: /^Jo/i }).pretty();
ফলাফল:
{
"_id" : ObjectId("5cb84984623186894665ae41"),
"Name" : "John",
"Age" : 32
}
{
"_id" : ObjectId("5cb849b2623186894665ae44"),
"Name" : "Johnny",
"Age" : 22
}
Regex প্যাটার্ন ব্যাখ্যা:
/^Jo/i-^মানে স্ট্রিংয়ের শুরু,Joমানে "Jo" অক্ষর,iমানে কেস-ইনসেনসিটিভ (বড়/ছোট হাতের অক্ষর ধ্যান দেবে না)- এটি SQL-এর
LIKE 'Jo%'এর সমতুল্য
অন্যান্য ব্যবহারিক Regex প্যাটার্ন:
| Regex | SQL LIKE সমতুল্য | ব্যাখ্যা |
|---|---|---|
/^Jo/ | LIKE 'Jo%' | "Jo" দিয়ে শুরু হয় |
/n$/ | LIKE '%n' | "n" দিয়ে শেষ হয় |
/oh/ | LIKE '%oh%' | "oh" कहीं भी আছে |
/^Jo/i | LIKE 'Jo%' (case-insensitive) | কেস-ইনসেনসিটিভ |