دوره‌ها / MongoDB / FIND - Read (FIND - Read)

FIND - Read (FIND - Read)

15 دقیقه Article

FIND - Read: خواندن داده 📤

FIND عملیات Read در CRUD است. در MongoDB، از find() و findOne() برای خواندن documents استفاده می‌کنیم.

find() - پیدا کردن چند Document:

// پیدا کردن همه documents
db.users.find()

// پیدا کردن با شرط
db.users.find({ age: 25 })

// پیدا کردن با چند شرط (AND)
db.users.find({ age: 25, city: "Tehran" })

// پیدا کردن با شرط OR
db.users.find({ $or: [
  { age: 25 },
  { city: "Tehran" }
]})

findOne() - پیدا کردن یک Document:

// پیدا کردن اولین document
db.users.findOne()

// پیدا کردن اولین document با شرط
db.users.findOne({ name: "Ali" })

// پیدا کردن با _id
db.users.findOne({ _id: ObjectId("507f1f77bcf86cd799439011") })

Projection - انتخاب فیلدهای خاص:

// فقط name و email را برگردان
db.users.find({}, { name: 1, email: 1 })

// همه فیلدها به جز age
db.users.find({}, { age: 0 })

// فقط name و _id (پیش‌فرض _id همیشه برگردانده می‌شود)
db.users.find({}, { name: 1 })

// حذف _id
db.users.find({}, { name: 1, email: 1, _id: 0 })

مثال‌های عملی:

// پیدا کردن کاربران بالای 18 سال
db.users.find({ age: {{ $gt: 18 }} })

// پیدا کردن محصولات موجود
db.products.find({ inStock: true })

// پیدا کردن با regex
db.users.find({ name: /^A/ })  // نام‌هایی که با A شروع می‌شوند

// پیدا کردن با embedded field
db.users.find({ "address.city": "Tehran" })
✅ یاد گرفتید: با find() و findOne() می‌توانید documents را از MongoDB بخوانید و با projection فیلدهای مورد نیاز را انتخاب کنید!

تمرین‌های عملی

برای تثبیت یادگیری این درس تمرین‌های زیر را حل کنید

تمرین: FIND Easy
سوال تمرین

🎯 تمرین: Query Documents

یک query بنویسید که users با age بیشتر از 25 رو پیدا کنه.

پاسخ تمرین
JAVASCRIPT
db.users.find({ age: { $gt: 25 } })

// یا با projection
db.users.find(
    { age: { $gt: 25 } },
    { name: 1, age: 1, _id: 0 }
)

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

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