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

MongoDB-তে স্পেশাল ক্যারেক্টারসহ স্ট্রিং সার্চ কীভাবে করবেন?

Regex-এ স্পেশাল ক্যারেক্টার এস্কেপ করা

Regex-এ স্পেশাল ক্যারেক্টার (যেমন $, ., * ইত্যাদি) সার্চ করার জন্য ব্যাকস্ল্যাশ (\) দিয়ে এস্কেপ করতে হয়।

উদাহরণ: ডকুমেন্ট তৈরি (UserId-তে $ আছে)

> db.searchDocumentWithSpecialCharactersDemo.insertOne({"UserId":"Smith$John123","UserFirstName":"John","UserLastName":"Smith"});
{ "acknowledged" : true, "insertedId" : ObjectId("5c987b98330fd0aa0d2fe4b1") }
> db.searchDocumentWithSpecialCharactersDemo.insertOne({"UserId":"Taylor$Carol983","UserFirstName":"Carol","UserLastName":"Taylor"});
{ "acknowledged" : true, "insertedId" : ObjectId("5c987bdb330fd0aa0d2fe4b2") }
> db.searchDocumentWithSpecialCharactersDemo.insertOne({"UserId":"Doe$John999","UserFirstName":"John","UserLastName":"Doe"});
{ "acknowledged" : true, "insertedId" : ObjectId("5c987bee330fd0aa0d2fe4b3") }
> db.searchDocumentWithSpecialCharactersDemo.insertOne({"UserId":"Miller$David555","UserFirstName":"David","UserLastName":"Miller"});
{ "acknowledged" : true, "insertedId" : ObjectId("5c987c01330fd0aa0d2fe4b4") }

Regex দিয়ে সার্চ: "John" যেগুলোতে $ সহ আছে

> db.searchDocumentWithSpecialCharactersDemo.find({ 
    UserId: /.*\$John.*/i 
}).pretty();

আউটপুট:

{ "UserId" : "Smith$John123", "UserFirstName" : "John", "UserLastName" : "Smith" }
{ "UserId" : "Doe$John999", "UserFirstName" : "John", "UserLastName" : "Doe" }

Regex ব্যাখ্যা

  • .* - যেকোনো ক্যারেক্টার (০ বা অধিক)
  • \$ - লিটারেল $ ক্যারেক্টার (এস্কেপড)
  • John - স্ট্রিং "John"
  • .* - যেকোনো ক্যারেক্টার
  • /i - কেস-ইনসেনসিটিভ

টিপস: MongoDB শেল-এ স্ট্রিং-এ ডবল ব্যাকস্ল্যাশ (\\$) লিখতে হয় JSON/ড্রাইভারের জন্য।

  1. MongoDB কনসোলে স্পেশাল ক্যারেক্টার যুক্ত ডাটাবেস নাম ব্যবহার (getSiblingDB)

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

  3. MySQL-এ REPLACE() ফাংশন ব্যবহার করে স্পেশাল ক্যারেক্টারসহ স্ট্রিং সিলেক্ট করা

  4. MySQL-এ স্ট্রিংয়ের ভিতরে নির্দিষ্ট অক্ষর খুঁজে বের করা