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

MongoDB-এ টেক্সট সার্চের সাথে রেগুলার এক্সপ্রেশন (Regex) ব্যবহার


MongoDB-এ $regex অপারেটর ব্যবহার করে প্যাটার্ন ম্যাচিং

MongoDB-এ রেগুলার এক্সপ্রেশন (Regex) ব্যবহার করে ডকুমেন্ট ফিল্টার করার জন্য $regex অপারেটর ব্যবহৃত হয়। এটি কেস-ইনসেনসিটিভ সার্চের জন্যও উপযোগী।

১. কালেকশন ও নমুনা ডেটা তৈরি

> db.demo19.insertOne({"Values":"4321GH"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e1389b955d0fc6657d21f0f") }
> db.demo19.insertOne({"Values":"12321_Carol"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e1389c755d0fc6657d21f10") }
> db.demo19.insertOne({"Values":"8765Mike"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e1389d355d0fc6657d21f11") }

২. সব ডকুমেন্ট দেখানো

> db.demo19.find();

আউটপুট:

{ "_id" : ObjectId("5e1389b955d0fc6657d21f0f"), "Values" : "4321GH" }
{ "_id" : ObjectId("5e1389c755d0fc6657d21f10"), "Values" : "12321_Carol" }
{ "_id" : ObjectId("5e1389d355d0fc6657d21f11"), "Values" : "8765Mike" }

৩. Regex দিয়ে সার্চ করা (4321 বা 8765 দিয়ে শুরু হওয়া মান)

> db.demo19.find({Values: {$regex: /4321|8765/, $options: 'i'}});

ব্যাখ্যা:

  • /4321|8765/ - এই প্যাটার্ন মানে "4321" বা "8765" দিয়ে শুরু হওয়া স্ট্রিং।
  • $options: 'i' - কেস-ইনসেনসিটিভ (Case-insensitive) সার্চের জন্য।

৪. ফলাফল

{ "_id" : ObjectId("5e1389b955d0fc6657d21f0f"), "Values" : "4321GH" }
{ "_id" : ObjectId("5e1389d355d0fc6657d21f11"), "Values" : "8765Mike" }

শুধু "4321GH" এবং "8765Mike" ডকুমেন্টগুলো ফলাফলে আসেছে, কারণ এগুলো নির্দিষ্ট প্যাটার্নের সাথে মিলে যাচ্ছে।


  1. macOS-এ সাফারি ব্যবহার করার ৮ টি টিপস

  2. SeekFast দিয়ে যেকোনো ফাইলে টেক্সট সার্চ করুন

  3. MongoDB-তে কেস-ইনসেনসিটিভ (Case-Insensitive) সার্চ করা ($regex)

  4. XPATH ব্যবহার করে সম্বলিত টেক্সট সার্চ করা