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

MongoDB-এ কেস-ইনসেনসিটিভ (Case Insensitive) সার্চ


$regex অপারেটর ব্যবহার করে কেস-ইনসেনসিটিভ ম্যাচিং

MongoDB-এ রেজেক্স (Regular Expression) ব্যবহার করে বড়/ছোট হাতের অক্ষর ব 생각하지 않고 সার্চ করা যায়।

সিনট্যাক্স (দুটি পদ্ধতি)

  1. db.collection.find({ "field": { $regex: '^value$' } }) — কেস-সেনসিটিভ এক্সাক্ট ম্যাচ।
  2. db.collection.find({ "field": { $regex: /^value$/i } }) — i ফ্ল্যাগ দিয়ে কেস-ইনসেনসিটিভ।

উদাহরণ

> db.caseInsesitiveDemo.insertOne({"Name":"John"});
> db.caseInsesitiveDemo.insertOne({"Name":"Johnson"});
> db.caseInsesitiveDemo.insertOne({"Name":"Johny"});

সাধারণ রেজেক্স (পার্শিয়াল ম্যাচ)

> db.caseInsesitiveDemo.find({ "Name": { $regex: 'John' } });

সবগুলো ম্যাচ করবে: John, Johnson, Johny

Case 1: এক্সাক্ট ম্যাচ (কেস-সেনসিটিভ)

> db.caseInsesitiveDemo.find({ "Name": { $regex: '^John$' } });
{ "_id" : ..., "Name" : "John" }

Case 2: এক্সাক্ট ম্যাচ (কেস-ইনসেনসিটিভ)

> db.caseInsesitiveDemo.find({ "Name": { $regex: /^John$/i } });
{ "_id" : ..., "Name" : "John" }

টিপস: রেজেক্স কোয়েরি ইনডেক্স ব্যবহার করতে পারে যদি এটি এনকর (^) দিয়ে শুরু হয় এবং কেস-ইনসেনসিটিভ না হয়। কেস-ইনসেনসিটিভ সার্চের জন্য টেক্সট ইনডেক্স বা $regex সাথে কোলেশন (collation) ব্যবহার করা ভালো।


  1. HTML DOM Input Search name প্রোপার্টি

  2. C#-এ বাইনারি সার্চ (Binary Search)

  3. SportStreamSearch: ব্রাউজার হাইজ্যাকিং ঝুঁকি সম্পন্ন একটি ফ্রি ক্রোম এক্সটেনশন

  4. ইনস্টাগ্রাম ইউজার নাম ও লোকেশন দিয়ে খুঁজে বের করার ১০ প্রমাণিত উপায়