find()
جلب عدّة مستندات find()
find() ترجع مؤشّرًا (cursor) على كل المستندات المطابقة لفلتر معيّن، أو كل المستندات إذا كان الفلتر فارغًا.
الدالة الأساسية للاستعلام في MongoDB. لا تنفّذ الاستعلام فورًا — ترجع cursor كسول (lazy) يُنفَّذ فعليًّا فقط عند التكرار عليه أو تحويله لمصفوفة. يمكن سلسلة .sort() و.limit() و.skip() عليه قبل التنفيذ.
الصياغة
db.collection.find(<filter>, <projection>)
📄 مثال
db.users.find({ age: { $gte: 18 } })
// مع إسقاط: name فقط بدون _id
db.users.find({ active: true }, { name: 1, _id: 0 })
// تحويل النتيجة لمصفوفة فعلية
const list = db.users.find({}).toArray()أهم المعاملات
| المعامل | الوظيفة |
|---|---|
| filter | شرط المطابقة، فارغ {} يعني كل المستندات |
| projection | الحقول المراد إرجاعها أو استبعادها (اختياري) |
💡 نصائح عملية
- استخدم .limit() دائمًا عند التعامل مع مجموعات كبيرة لتفادي جلب آلاف المستندات دفعة واحدة
⚠️ أخطاء شائعة
- الظن أن find() تنفّذ الاستعلام فورًا — التنفيذ الفعلي يحدث فقط عند تكرار النتائج أو استدعاء toArray()
خصائص ذات صلة
🎓 تريد فهم الصورة الكاملة خطوة بخطوة؟ ابدأ من مسار MONGODB الكامل بالعربي.
📚 للتعمق التقني الكامل بالإنجليزية: MDN Web Docs