find() (الاستعلام عن مستندات)

آخر تحديث: 2026-10-09

find() (الاستعلام عن مستندات)

تستعلم find() عن مستندات مطابقة لشرط وتُعيد مؤشرًا (Cursor). وهي أبسط طرق القراءة: الوسيط الأول هو شرط الاستعلام، والثاني هو الإسقاط الذي يتحكم في الحقول المُعادة. المؤشر كسول — لا تُجلب البيانات إلا عند التكرار (toArray/forEach/next).

الفئةالقراءة
إصدار MongoDB1.0+
لغة المثالmongosh (الطرفية)

📝 الصيغة

db.<collection>.find(<query>, <projection>)

⚙️ المعلمات

شرط الاستعلامكائن شرط يدعم معاملات الاستعلام؛ عند إغفاله يطابق الكل.
الإسقاطاختياري. يتحكم في الحقول المُرجَعة: ‏1 تضمين / 0 استبعاد.

القيمة المرجعة:مؤشر

▶ مثال

نفّذ الأوامر التالية في mongosh المحلي لديك (يتطلب تشغيل mongod):

// find: مستخدمون أكبر من 20 عامًا، الاسم فقط
const cursor = db.users.find(
  { age: { $gt: 20 } },
  { name: 1, age: 1, _id: 0 }
)
cursor.forEach(u => print(u.name))

المخرجات:

Alice
Bob

📌 ملاحظات

📚 دروس ذات صلة

❓ الأسئلة الشائعة

Qهل تُعيد find() مصفوفة؟
Aلا، تُعيد مؤشرًا. حوّله بـ .toArray() (أو كرِّر عليه) عند الحاجة إلى مصفوفة.
Qماذا تُعيد find()؟
Aتُعيد find() مؤشرًا وليس مصفوفة. حوّله بـ toArray()، أو كرِّر عليه بـ forEach/next؛ المؤشر كسول ولا يجلب المستندات من الخادم إلا أثناء القراءة.
Qما وظيفة الوسيط الثاني في find()؟
Aإنه الإسقاط: 1 يتضمن الحقول و0 يستبعدها (الخلط مسموح لـ _id فقط). استخدمه لتقليل الحمولة الشبكية وحجم النتيجة.
Web-Tutorial.com

فريق Web-Tutorial التقني

منصة دروس برمجية يديرها عدة مطورين. كل درس يتم كتابته ومراجعته بواسطة مطورين متخصصين في المجال. نعمل على ضمان دقة وموثوقية المحتوى — إذا لاحظت أي مشكلة، فيرجى إخبارنا.

100%