MongoDB-এ ইনপুট স্ট্রিংর সাথে মিলতুল্য নাম খুঁজে বের করতে $regex এবং $options: 'i' (কেস-ইনসেনসিটিভ) ব্যবহার করুন। একটি কালেকশন তৈরি করুন:
> db.demo514.insertOne({"Information":{"FullName":"John Doe"}});
{ "acknowledged" : true, "insertedId" : ObjectId("5e885116987b6e0e9d18f58c") }
> db.demo514.insertOne({"Information":{"FullName":"John Smith"}});
{ "acknowledged" : true, "insertedId" : ObjectId("5e88515e987b6e0e9d18f58d") }
> db.demo514.insertOne({"Information":{"FullName":"john doe"}});
{ "acknowledged" : true, "insertedId" : ObjectId("5e885169987b6e0e9d18f58e") }
> db.demo514.insertOne({"Information":{"FullName":"Chris Brown"}});
{ "acknowledged" : true, "insertedId" : ObjectId("5e88516f987b6e0e9d18f58f") }
find() দিয়ে ডকুমেন্ট দেখান:
> db.demo514.find();
আউটপুট:
"John Doe" (বড়/ছোট হাতের অক্ষর উপেক্ষা করে) সার্চ করার কোয়ারি:
> db.demo514.find({'Information.FullName': {$regex: "John Doe", $options: 'i'}});আউটপুট:
ব্যাখ্যা:
$options: 'i'কেস-ইনসেনসিটিভ ম্যাচিং সক্ষম করে। ডট নোটেশনInformation.FullNameনেস্টেড ফিল্ড এক্সেস করতে ব্যবহৃত হয়। রেগেক্সে স্পেশাল ক্যারেক্টার থাকলে এস্কেপ করতে হয়। বড় ডেটাসেটে পারফরম্যান্সের জন্য টেক্সট إندেক্স বা ট্রাইগ্রাম إندেক্স ভালো।