Logical Operators (Logical Operators)
Logical Operators: عملگرهای منطقی 🧠
Logical Operators برای ترکیب چندین شرط در query استفاده میشوند.
Operators اصلی:
// $and - همه شرطها باید true باشند
db.users.find({{
$and: [
{{ age: {{ $gte: 18 }} }},
{{ city: "Tehran" }},
{{ isActive: true }}
]
}})
// $or - حداقل یکی از شرطها باید true باشد
db.users.find({{
$or: [
{{ age: {{ $lt: 18 }} }},
{{ city: "Tehran" }}
]
}})
// $not - نقیض شرط
db.users.find({{
age: {{ $not: {{ $lt: 18 }} }}
}})
// $nor - نه هیچکدام از شرطها
db.users.find({{
$nor: [
{{ age: {{ $lt: 18 }} }},
{{ city: "Tehran" }}
]
}})
مثالهای عملی:
// کاربران بالای 18 سال و در تهران
db.users.find({{
$and: [
{{ age: {{ $gte: 18 }} }},
{{ city: "Tehran" }}
]
}})
// یا به صورت سادهتر (MongoDB به صورت خودکار $and میکند)
db.users.find({{
age: {{ $gte: 18 }},
city: "Tehran"
}})
// کاربران زیر 18 یا بالای 65
db.users.find({{
$or: [
{{ age: {{ $lt: 18 }} }},
{{ age: {{ $gt: 65 }} }}
]
}})
// کاربرانی که نه زیر 18 هستند و نه در تهران
db.users.find({{
$nor: [
{{ age: {{ $lt: 18 }} }},
{{ city: "Tehran" }}
]
}})
✅ یاد گرفتید: Logical Operators برای ترکیب چندین شرط و نوشتن query های پیچیده استفاده میشوند!
تمرینهای عملی
برای تثبیت یادگیری این درس تمرینهای زیر را حل کنید
تمرین: Logical Operators
Medium
سوال تمرین
🎯 تمرین: استفاده از $and و $or
یک query با $and بنویسید.
پاسخ تمرین
JAVASCRIPT
db.users.find({
$and: [
{ age: { $gt: 18 } },
{ status: "active" }
]
})
// یا سادهتر
db.users.find({
age: { $gt: 18 },
status: "active"
})
آماده رفتن به درس بعدی هستید؟
این درس را به پایان رساندید و میتوانید به درس بعدی بروید.