কম্পিউটার টিউটোরিয়াল

MongoDB-এ SQL LIKE অপারেশনের মত কুয়েরি করা

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 ফ্ল্যাগ)

টিপ: বড় ডেটাসেটে রেগুলার এক্সপ্রেশন ধীর হতে পারে। পারফরম্যান্সের জন্য টেক্সট সার্চ বা এटलাস সার্চ ব্যবহার করুন।

  1. MongoDB-তে শব্দ অনুযায়ী সর্ট করার পদ্ধতি

  2. MongoDB-তে সিম্পল ভ্যালিডেশন করা

  3. MongoDB-এ MySQL UNION-এর মত দুই কলেকশন জয়েন করা

  4. MongoDB-এ কেস-ইনসেনসিটিভ (Case-Insensitive) "Like" কোয়েরি (Regex /i)