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

MongoDB-তে LIKE কোয়েরি ব্যবহার করে ম্যাচিং রেকর্ড খুঁজে বের করা


MongoDB-তে রেগুলার এক্সপ্রেশন (Regex) ব্যবহার করে LIKE কোয়েরি করা

MongoDB-তে SQL-এর LIKE অপারেটরের মতো প্যাটার্ন ম্যাচিং করতে রেগুলার এক্সপ্রেশন (Regex) ব্যবহার করা হয়।

ধাপ ১: ডকুমেন্টসহ কালেকশন তৈরি করুন

> db.likeDemo.insertOne({"Name":"John",Age:32});
{ "acknowledged" : true, "insertedId" : ObjectId("5cb84984623186894665ae41") }
> db.likeDemo.insertOne({"Name":"Chris",Age:25});
{ "acknowledged" : true, "insertedId" : ObjectId("5cb84991623186894665ae42") }
> db.likeDemo.insertOne({"Name":"Carol",Age:22});
{ "acknowledged" : true, "insertedId" : ObjectId("5cb849a1623186894665ae43") }
> db.likeDemo.insertOne({"Name":"Johnny",Age:22});
{ "acknowledged" : true, "insertedId" : ObjectId("5cb849b2623186894665ae44") }
> db.likeDemo.insertOne({"Name":"James",Age:27});
{ "acknowledged" : true, "insertedId" : ObjectId("5cb849bb623186894665ae45") }

ধাপ ২: সব ডকুমেন্ট প্রদর্শন করুন

> db.likeDemo.find().pretty();

আউটপুট:

{
  "_id" : ObjectId("5cb84984623186894665ae41"),
  "Name" : "John",
  "Age" : 32
}
{
  "_id" : ObjectId("5cb84991623186894665ae42"),
  "Name" : "Chris",
  "Age" : 25
}
{
  "_id" : ObjectId("5cb849a1623186894665ae43"),
  "Name" : "Carol",
  "Age" : 22
}
{
  "_id" : ObjectId("5cb849b2623186894665ae44"),
  "Name" : "Johnny",
  "Age" : 22
}
{
  "_id" : ObjectId("5cb849bb623186894665ae45"),
  "Name" : "James",
  "Age" : 27
}

ধাপ ৩: "Jo" দিয়ে শুরু হওয়া নামগুলো খুঁজে বের করুন (LIKE 'Jo%')

> db.likeDemo.find({Name: /^Jo/i }).pretty();

ফলাফল:

{
  "_id" : ObjectId("5cb84984623186894665ae41"),
  "Name" : "John",
  "Age" : 32
}
{
  "_id" : ObjectId("5cb849b2623186894665ae44"),
  "Name" : "Johnny",
  "Age" : 22
}

Regex প্যাটার্ন ব্যাখ্যা:

  • /^Jo/i - ^ মানে স্ট্রিংয়ের শুরু, Jo মানে "Jo" অক্ষর, i মানে কেস-ইনসেনসিটিভ (বড়/ছোট হাতের অক্ষর ধ্যান দেবে না)
  • এটি SQL-এর LIKE 'Jo%' এর সমতুল্য

অন্যান্য ব্যবহারিক Regex প্যাটার্ন:

RegexSQL LIKE সমতুল্যব্যাখ্যা
/^Jo/LIKE 'Jo%'"Jo" দিয়ে শুরু হয়
/n$/LIKE '%n'"n" দিয়ে শেষ হয়
/oh/LIKE '%oh%'"oh" कहीं भी আছে
/^Jo/iLIKE 'Jo%' (case-insensitive)কেস-ইনসেনসিটিভ
  1. MongoDB-তে ন্যাচারেল অর্ডার দিয়ে সর্ট করা এবং আইটেমগুলো রিভার্স করা

  2. MongoDB-তে শর্তের উপর ভিত্তি করে রেকর্ড খোঁজা (find with condition)

  3. MongoDB-তে নেস্টেড অ্যারে ভিতরের সার্ভার স্ট্যাটাস আপডেট করে INACTIVE করা

  4. MongoDB-এ জন্ম তারিখ থেকে বয়স ক্যালকুলেট করা