Introduction
এই ভিডিওটিতে MongoDB-এর Comparison Operators সম্পর্কে খুব সহজভাবে আলোচনা করা হয়েছে। আমরা যখন ডাটাবেস থেকে নির্দিষ্ট কোনো তথ্য খুঁজে পেতে চাই, তখন আমাদের কিছু শর্ত বা "Comparison" (তুলনা) ব্যবহার করতে হয়। যেমন: কার বয়স ২০ এর কম, কার রেজাল্ট ৩.৫ এর বেশি, অথবা নির্দিষ্ট কোনো নামের মানুষ কারা। এই কাজগুলো করার জন্যই $ne, $lt, $gte, এবং $in এর মতো অপারেটরগুলো ব্যবহার করা হয়।
১. Not Equal Operator ($ne)
ভিডিও রেফারেন্স: [41:50]
যখন আপনি এমন কোনো ডাটা চান যা একটি নির্দিষ্ট মানের সাথে মিলবে না, তখন $ne (Not Equal) ব্যবহার করা হয়।
বিস্তারিত: ধরুন আপনার ক্লাসে অনেক স্টুডেন্ট আছে। আপনি চাচ্ছেন 'Spongebob' বাদে বাকি সবার নাম দেখতে। তখন এই অপারেটরটি কাজে লাগে। এটি মূলত বলে দেয়, "এই মানটি ছাড়া বাকি সব আমাকে দাও"।
কোড উদাহরণ:
JavaScript
db.students.find({name: {$ne: "SpongeBob"}})
- ব্যাখ্যা: এখানে আমরা বলছি,
nameফিল্ডে যাদের নাম "SpongeBob" নয়, শুধু তাদের খুঁজে বের করো।
২. Less Than ($lt) এবং Less Than Equals ($lte)
ভিডিও রেফারেন্স: [42:30]
সংখ্যার তুলনা করার জন্য এগুলো ব্যবহার করা হয়। $lt মানে হলো "এর চেয়ে ছোট" এবং $lte মানে হলো "এর সমান অথবা ছোট"।
বিস্তারিত: ডাটাবেসে বয়স বা রেজাল্টের মতো সংখ্যা নিয়ে কাজ করার সময় এগুলো খুব জরুরি। যেমন, যাদের বয়স ২০ বছরের নিচে তাদের খুঁজে বের করা।
কোড উদাহরণ:
JavaScript
// ২০ বছরের কম বয়সীদের জন্য
db.students.find({age: {$lt: 20}})
// ২৭ বছর বা তার কম বয়সীদের জন্য (২৭ সহ)
db.students.find({age: {$lte: 27}})
- ব্যাখ্যা: প্রথম কোডটি ২০-এর ছোট সব স্টুডেন্টকে দেখাবে। দ্বিতীয় কোডটিতে ২৭ এবং তার চেয়ে ছোট সবাইকে দেখাবে।
৩. Greater Than ($gt) এবং Greater Than Equals ($gte)
ভিডিও রেফারেন্স: [43:12]
এটি ঠিক আগেরটির উল্টো। $gt মানে "এর চেয়ে বড়" এবং $gte মানে "এর সমান অথবা বড়"।
বিস্তারিত: ধরুন আপনি এমন স্টুডেন্টদের চাচ্ছেন যাদের রেজাল্ট (GPA) ৩.০ এর বেশি বা সমান। তখন $gte ব্যবহার করতে হবে।
কোড উদাহরণ:
JavaScript
db.students.find({age: {$gte: 27}})
- ব্যাখ্যা: এটি সেই সব স্টুডেন্টদের লিস্ট দেবে যাদের বয়স ২৭ বা তার বেশি।
৪. In ($in) এবং Not In ($nin)
ভিডিও রেফারেন্স: [44:40]
যখন আপনার কাছে অনেকগুলো অপশন থাকে এবং আপনি দেখতে চান ডাটাটি ওই লিস্টের মধ্যে আছে কি না, তখন $in ব্যবহার করা হয়। আর লিস্টের বাইরে হলে $nin।
বিস্তারিত: ধরুন আপনি একসাথে 'SpongeBob', 'Patrick' আর 'Sandy'-র তথ্য দেখতে চান। আলাদা আলাদা করে না খুঁজে একটি এরের (Array) মাধ্যমে এই কাজটা একবারে করা যায়।
কোড উদাহরণ:
JavaScript
// নির্দিষ্ট কিছু নামের ডাটা খুঁজতে
db.students.find({name: {$in: ["SpongeBob", "Patrick", "Sandy"]}})
// নির্দিষ্ট এই নামগুলো বাদে বাকি সব খুঁজতে
db.students.find({name: {$nin: ["SpongeBob", "Patrick", "Sandy"]}})
- ব্যাখ্যা: প্রথম কোডটি শুধু ব্র্যাকেটের ভেতরের নামগুলো খুঁজবে। দ্বিতীয়টি ওই নামগুলো বাদে ডাটাবেসে থাকা অন্য সবাইকে খুঁজে বের করবে।
৫. রেঞ্জ (Range) তৈরি করা
ভিডিও রেফারেন্স: [43:58]
একই সাথে একাধিক অপারেটর ব্যবহার করে আপনি একটি নির্দিষ্ট সীমার (Range) মধ্যে ডাটা খুঁজতে পারেন।
কোড উদাহরণ:
JavaScript
db.students.find({GPA: {$gte: 3.0, $lte: 4.0}})
- ব্যাখ্যা: এখানে আমরা এমন স্টুডেন্টদের খুঁজছি যাদের GPA ৩.০ থেকে ৪.০ এর মধ্যে।
অ্যানালাইসিস ও আমার মতামত
মূল কথা (Core Analysis): কন্টেন্ট ক্রিয়েটর এখানে বোঝাতে চেয়েছেন যে, ডাটাবেস থেকে শুধু তথ্য আনাই যথেষ্ট নয়, বরং ফিল্টার করে সঠিক তথ্যটি দ্রুত আনা শিখতে হবে। MongoDB-তে এই ডলার সাইনওয়ালা অপারেটরগুলো SQL-এর WHERE ক্লজের মতো কাজ করে।
বাস্তব প্রেক্ষাপট ও সম্ভাবনা: বাস্তব জীবনে যেমন ই-কমার্স সাইটে আপনি যখন '৫০০ থেকে ১০০০ টাকার মধ্যে মোবাইল' সার্চ করেন, তখন ব্যাকএন্ডে এই $gte এবং $lte অপারেটরগুলোই কাজ করে। এটি ডাটাবেস কুয়েরিকে অনেক বেশি পাওয়ারফুল এবং ডাইনামিক করে তোলে।
বিকল্প এবং পরামর্শ: ১. নতুনদের জন্য: শুরুতে অনেকগুলো কার্লি ব্র্যাকেট {} দেখে কনফিউশন হতে পারে। মনে রাখবেন, অপারেটরগুলো সবসময় আরেকটি ব্র্যাকেটের ভেতরে থাকে। ২. পরামর্শ: বড় ডাটাবেসে কুয়েরি করার সময় 'Indexing' ব্যবহার করা উচিত, অন্যথায় অনেক ডাটার মধ্যে কুয়েরি স্লো হয়ে যেতে পারে। ৩. ট্যাক্সোনমি: আপনি যদি SQL থেকে এসে থাকেন, তবে এভাবে মনে রাখতে পারেন: * $ne = != * $lt = < * $gte = >= * $in = IN (...)
এই অপারেটরগুলো আয়ত্ত করতে পারলে আপনি যেকোনো ডাটাবেস থেকে খুব সহজেই আপনার প্রয়োজনীয় তথ্য ছেঁকে বের করে আনতে পারবেন।
https://www.youtube.com/watch?v=c2M-rlkkT5o
[
Learn MongoDB in 1 hour 🍃
Bro Code · 1.7M views
](http://www.youtube.com/watch?v=c2M-rlkkT5o)

মন্তব্যসমূহ
একটি মন্তব্য পোস্ট করুন
আপনার সমস্যাটি কমেন্ট করে আমাদের জানান :-d