دوره‌ها / MongoDB / Logical Operators (Logical Operators)

Logical Operators (Logical Operators)

15 دقیقه Article

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"
})

آماده رفتن به درس بعدی هستید؟

این درس را به پایان رساندید و می‌توانید به درس بعدی بروید.