FIND - Read (FIND - Read)
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 }
)
آماده رفتن به درس بعدی هستید؟
این درس را به پایان رساندید و میتوانید به درس بعدی بروید.