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

MongoDB-এ কেস-ইনসেনসিটিভ (Case-Insensitive) কোয়ারি করা (Regex)

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

MongoDB-এ ডিফল্টভাবে স্ট্রিং মেলানো কেস-সেনসিটিভ। বড়/ছোট হাতের অক্ষর উপেক্ষা করে খুঁজতে /pattern/i রেগেক্স ব্যবহার করা হয়। এখানে i ফ্ল্যাগ মানে কেস-ইনসেনসিটিভ।

উদাহরণ: বিভিন্ন কেসে ডেটা ইনসার্ট

> db.demo314.insertOne({"Name":"Chris brown"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e50d742f8647eb59e562056") }
> db.demo314.insertOne({"Name":"David Miller"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e50d743f8647eb59e562057") }
> db.demo314.insertOne({"Name":"CHRIS BROWN"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e50d744f8647eb59e562058") }
> db.demo314.insertOne({"Name":"DAVID MILLER"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e50d747f8647eb59e562059") }
> db.demo314.insertOne({"Name":"chris brown"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e50d749f8647eb59e56205a") }

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

> db.demo314.find();

আউটপুট:

{ "_id" : ObjectId("5e50d742f8647eb59e562056"), "Name" : "Chris brown" }
{ "_id" : ObjectId("5e50d743f8647eb59e562057"), "Name" : "David Miller" }
{ "_id" : ObjectId("5e50d744f8647eb59e562058"), "Name" : "CHRIS BROWN" }
{ "_id" : ObjectId("5e50d747f8647eb59e562059"), "Name" : "DAVID MILLER" }
{ "_id" : ObjectId("5e50d749f8647eb59e56205a"), "Name" : "chris brown" }

কেস-ইনসেনসিটিভ কোয়ারি ("chris brown" সব কেসে)

> db.demo314.find({"Name":/chris brown/i});

আউটপুট:

{ "_id" : ObjectId("5e50d742f8647eb59e562056"), "Name" : "Chris brown" }
{ "_id" : ObjectId("5e50d744f8647eb59e562058"), "Name" : "CHRIS BROWN" }
{ "_id" : ObjectId("5e50d749f8647eb59e56205a"), "Name" : "chris brown" }

ব্যাখ্যা

  • /chris brown/i — জাভাস্ক্রিপ্ট রেগেক্স লিটারেল। i ফ্ল্যাগ কেস উপেক্ষা করে।
  • তিনটি ডকুমেন্ট মেলে: "Chris brown", "CHRIS BROWN", "chris brown"।
  • পারফরম্যান্স: রেগেক্স কোয়ারি সাধারণত ইন্ডেক্স ব্যবহার করে না (prefix regex ^ ছাড়া)। বড় কালেকশনে টেক্সট ইন্ডেক্স ($text) বা কেস-নরমালাইজড ফিল্ড ভালো।

বিকল্প: {$regex: "chris brown", $options: "i"} সিনট্যাক্সও ব্যবহার করা যায়।

  1. MongoDB-তে LIMIT ব্যবহার করে কোয়ারি করার পদ্ধতি

  2. MongoDB কোয়ারিতে নির্দিষ্ট কলাম সিলেক্ট করা

  3. MongoDB-এ সাব-ডকুমেন্টসে ফাইন্ড কোয়েরি চালানো

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