countDocuments() (عدّ مع مرشح)

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

countDocuments() (عدّ مع مرشح)

تعدّ countDocuments() المستندات المطابقة لمرشح، مثل `db.users.countDocuments({ age: { $gte: 18 } })`. تُنفَّذ على الخادم وتُعيد عدًّا دقيقًا. على عكس estimatedDocumentCount()، فإنها تقيّم المرشح فعلًا، لذا فهي دقيقة لكن أبطأ — الخيار الصحيح عندما تكون الدقة مهمة. للاستعلامات الحساسة للأداء على مجموعات ضخمة، اسند المرشح بفهرس.

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

📝 الصيغة

db.<collection>.countDocuments(<filter>, { limit: <number> })

⚙️ المعلمات

شرط التصفيةعامل تصفية للعدّ؛ ‏{} الفارغ يعدّ الكل.
limitاختياري. الحد الأعلى للمستندات المعدودة.

القيمة المرجعة:عدد المستندات المطابقة (عدد صحيح).

▶ مثال

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

// countDocuments: عدّ المستخدمين البالغين
const n = db.users.countDocuments({ age: { $gte: 18 } })
print('Adults: ' + n)

المخرجات:

Adults: 42

📌 ملاحظات

📚 دروس ذات صلة

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

Qكيف تختلف countDocuments عن estimatedDocumentCount؟
Aتقيّم countDocuments() المرشح بدقة لكنها أبطأ؛ بينما تستخدم estimatedDocumentCount() البيانات الوصفية للمجموعة — سريعة لكن تقريبية.
Qلماذا لا يُنصح بعدّ مجموعة كاملة بـ countDocuments؟
Aيجب أن تفحص التطابقات، وهو بطيء للمجموعات الكبيرة. عندما يكفي حجم تقريبي، استخدم estimatedDocumentCount().
Qهل تُعيد countDocuments 0 أم ترفع خطأً عند عدم التطابق؟
Aتُعيد 0 دون رفع خطأ — آمنة للاستخدام في الشروط.
Web-Tutorial.com

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

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

100%