MongoDB query শর্তগুলিকে logical operators ব্যবহার করে একত্রিত করে — $and, $or, $not, $nor — এবং একটি filter এ একাধিক ফিল্ডের implicit AND। এগুলি আপনাকে জটিল query logic প্রকাশ করতে এবং আপনার প্রয়োজনীয় নির্দিষ্ট documents খুঁজে পেতে দেয়।
MongoDB query শর্তগুলিকে logical operators ব্যবহার করে একত্রিত করে — $and, $or, $not, $nor — এবং একটি filter এ একাধিক ফিল্ডের implicit AND। এগুলি আপনাকে জটিল query logic প্রকাশ করতে এবং আপনার প্রয়োজনীয় নির্দিষ্ট documents খুঁজে পেতে দেয়।
// multiple fields in one filter = AND (all must match)
db.users.find({ active: true, age: { $gt: 18 } });
// → active = true AND age > 18 (no explicit $and needed)
সবচেয়ে সরল ক্ষেত্র: একটি filter এ একাধিক শর্ত তালিকাভুক্ত করা তাদের implicit AND করে — সবাইকে/সব অবশ্যই মেলে।
// $or takes an array of conditions; a document matches if ANY is true
db.users.find({
$or: [
{ age: { $lt: 18 } },
{ age: { $gt: 65 } }
]
});
// → age < 18 OR age > 65
// usually implicit, but $and is needed when combining conditions on the SAME field
db.products.find({
$and: [
{ price: { $gt: 100 } },
{ price: { $lt: 500 } }
]
});
// (often you can write { price: { $gt: 100, $lt: 500 } } instead — cleaner)
// $and is also useful to combine $or groups:
db.users.find({
$and: [
{ $or: [{ role: "admin" }, { role: "editor" }] },
{ active: true }
]
});
db.products.find({ price: { $not: { $gt: 100 } } }); // NOT (price > 100) → price <= 100 or missing
db.users.find({ $nor: [{ active: true }, { premium: true }] }); // NEITHER condition true
// real queries combine logical + comparison operators
db.orders.find({
status: "shipped", // implicit AND
$or: [
{ total: { $gt: 1000 } },
{ priority: "high" }
]
});
// → status = shipped AND (total > 1000 OR priority = high)
Logical operators MongoDB-এ জটিল query শর্ত প্রকাশ করার জন্য অপরিহার্য — বাস্তব queries এর প্রায়শই একটিরও বেশি শর্ত প্রয়োজন (AND/OR logic দিয়ে একাধিক মানদণ্ড একত্রিত করা), তাই সেগুলি বোঝা হল ডেটা কার্যকরভাবে filter করার জন্য মৌলিক দৈনন্দিন জ্ঞান।
অন্তর্নিহিত implicit AND বোঝা multiple filter ফিল্ডের (সরলতম, সবচেয়ে সাধারণ ক্ষেত্র — শর্তগুলি তালিকাভুক্ত করা যা সবাইকে অবশ্যই মেলে), $or (বেশ কয়েকটি শর্তের যেকোনোটি matching — বিকল্পগুলির জন্য একটি ঘন ঘন প্রয়োজন), $and (explicit AND, একই field এ শর্তগুলি একত্রিত করা বা $or clauses গ্রুপ করার জন্য প্রয়োজন), এবং $not/$nor (negation) query প্রয়োজনীয়তা প্রকাশ করার জন্য logical building blocks কভার করে।
কীভাবে logical এবং comparison operators combine করতে হয় তা বোঝা ("status shipped AND (total > 1000 OR priority high)" এর মত queries তৈরি করা) বাস্তব, multi-condition queries এর জন্য প্রয়োজনীয়।
সংমিশ্রিত শর্তগুলির সাথে ডেটা filter করা একটি সাধারণ প্রয়োজন (জটিল মানদণ্ড matching করা documents খুঁজে পাওয়া), এবং যেহেতু MongoDB এর logical operators (implicit AND, $or, $and, $not/$nor) এই logic প্রকাশ করার উপায় — comparison operators এর সাথে একত্রিত হয়ে প্রকৃত শর্তগুলির জন্য — logical operators বোঝা অপরিহার্য, ঘন ঘন-প্রয়োগ করা MongoDB জ্ঞান effective queries লিখার জন্য, SQL WHERE clauses এ AND/OR/NOT master করার সমতুল্য, এবং প্রয়োজনীয় ঠিক documents খুঁজে পাওয়ার জন্য প্রয়োজনীয় প্রায়শই-জটিল শর্ত সহ বাস্তব applications চাই।