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

MongoDB কোয়ারীতে ফিল্ড থেকে স্পেস ট্রিম (Trim) করার পদ্ধতি

MongoDB-এ স্ট্রিং ফিল্ডের শুরু এবং শেষের হোয়াইটস্পেস (whitespace) রিমুভ করতে অ্যাগ্রিগেশন পাইপলাইনে $trim অপারেটর ব্যবহার করা হয় (MongoDB 4.0+)।

কলেকশন এবং ডকুমেন্ট তৈরি

> db.demo217.insertOne({"FullName":"  Chris Brown"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e3e5d1e03d395bdc213470f") }
> db.demo217.insertOne({"FullName":"  David Miller"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e3e5d2503d395bdc2134710") }
> db.demo217.insertOne({"FullName":"  John Doe"});
{ "acknowledged" : true, "insertedId" : ObjectId("5e3e5d2b03d395bdc2134711") }

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

> db.demo217.find();

আউটপুট (শুরুতে দুটি স্পেস):

{ "_id" : ObjectId("5e3e5d1e03d395bdc213470f"), "FullName" : "  Chris Brown" }
{ "_id" : ObjectId("5e3e5d2503d395bdc2134710"), "FullName" : "  David Miller" }
{ "_id" : ObjectId("5e3e5d2b03d395bdc2134711"), "FullName" : "  John Doe" }

স্পেস ট্রিম করার কোয়ারী

> db.demo217.aggregate([
...   { $project: { Name: { $trim: { input: "$FullName" } } } }
... ]);

ফলাফল

{ "_id" : ObjectId("5e3e5d1e03d395bdc213470f"), "Name" : "Chris Brown" }
{ "_id" : ObjectId("5e3e5d2503d395bdc2134710"), "Name" : "David Miller" }
{ "_id" : ObjectId("5e3e5d2b03d395bdc2134711"), "Name" : "John Doe" }

ব্যাখ্যা:

  • $trim: {input: "$FullName"} - FullName ফিল্ড থেকে লিডিং (শুরু) এবং ট্রেইলিং (শেষ) হোয়াইটস্পেস রিমুভ করে
  • মিডল स्पেস (শব্দের মাঝপথে) রিমুভ হয় না
  • নতুন ফিল্ড Name এ ট্রিমড ভ্যালু আসে

উন্নত $trim অপশনসমূহ:

{ $trim: { input: "$FullName", chars: " *" } }  // নির্দিষ্ট ক্যারেক্টার ট্রিম (স্পেস এবং *)

সংশ্লিষ্ট স্ট্রিং অপারেটর (MongoDB 4.0+):

  • $ltrim - শুধু লিডিং (শুরু) স্পেস রিমুভ
  • $rtrim - শুধু ট্রেইলিং (শেষ) স্পেস রিমুভ
  • $split, $concat, $substr, $toLower, $toUpper, $replaceOne, $replaceAll

আপডেটে ট্রিম (MongoDB 4.2+ পাইপলাইন আপডেট):

db.demo217.updateMany(
  {},
  [{ $set: { FullName: { $trim: { input: "$FullName" } } } }]
)

এটি সব ডকুমেন্টের FullName ইন-প্লেস ট্রিম করবে।

নোট: $trim MongoDB 4.0+ এ উপলব্ধ। পুরানো ভার্সনে $substr + লজিক বা অ্যাপ্লিকেশন লেভেলে ট্রিম করতে হতো।

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

  2. MongoDB-এ নির্দিষ্ট ফিল্ড মান আপডেট করা ($set অপারেটর)

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

  4. MySQL-এ DOB (জন্ম তারিখ) থেকে বয়স বের করার পদ্ধতি