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

MongoDB-এ কেস-ইনসেনসিটিভ সার্চের জন্য কোয়েরি


ডকুমেন্টসহ একটি কলেকশন তৈরি করা

> db.demo186.insertOne({"UserEmailId":"JOHN@GMAIL.COM","UserName":"John"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e399d769e4f06af55199808") } > db.demo186.insertOne({"UserEmailId":"chris@gmail.com","UserName":"chris"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e399d879e4f06af55199809") } > db.demo186.insertOne({"UserEmailId":"DAVID@GMAIL.COM","UserName":"David"}); {    "acknowledged" : true,    "insertedId" : ObjectId("5e399d979e4f06af5519980a") }

find() মেথড ব্যবহার করে সব ডকুমেন্ট দেখানো

> db.demo186.find();

এটি নিচের আউটপুট তৈরি করবে:

{ "_id" : ObjectId("5e399d769e4f06af55199808"), "UserEmailId" : "JOHN@GMAIL.COM", "UserName" : "John" } { "_id" : ObjectId("5e399d879e4f06af55199809"), "UserEmailId" : "chris@gmail.com", "UserName" : "chris" } { "_id" : ObjectId("5e399d979e4f06af5519980a"), "UserEmailId" : "DAVID@GMAIL.COM", "UserName" : "David" }

কেস-ইনসেনসিটিভ সার্চের জন্য কোয়েরি

> var userMailId = [ /john@gmail.com/i, /david@gmail.com/i ] > db.demo186.find({ ...   '$or': [ ...      { 'UserEmailId': { '$in': userMailId} }, ...      { 'UserName': 'John' } ...   ] ...})

এটি নিচের আউটপুট তৈরি করবে:

{ "_id" : ObjectId("5e399d769e4f06af55199808"), "UserEmailId" : "JOHN@GMAIL.COM", "UserName" : "John" } { "_id" : ObjectId("5e399d979e4f06af5519980a"), "UserEmailId" : "DAVID@GMAIL.COM", "UserName" : "David" }

ব্যাখ্যা: এখানে রেগুলার এক্সপ্রেশন (regex) এর /i ফ্ল্যাগ ব্যবহার করা হয়েছে কেস-ইনসেনসিটিভ মিলানোর জন্য। $or অপারেটর দিয়ে ইমেইল বা ইউজারনেম যেকোনো একটি মিললে ডকুমেন্ট ফেরত দেওয়া হয়েছে।

  1. MongoDB-এ কেস-ইনসেনসিটিভ (Case-Insensitive) নাম দিয়ে ডকুমেন্ট খোঁজা ($regex /^name$/i)

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

  3. MongoDB-এ "@email" স্ট্রিং সার্চ করা ফিল্ড ভ্যালুতে

  4. MongoDB $regex অপারেটর: কেস-ইনসেনসিটিভ সার্চ (i ফ্ল্যাগ)