estimatedDocumentCount() (تقدير عدد المستندات)
آخر تحديث: 2026-10-09
estimatedDocumentCount() (تقدير عدد المستندات)
تقدّر estimatedDocumentCount() العدد الكلي للمستندات من البيانات الوصفية للمجموعة، مثل `db.users.estimatedDocumentCount()`. لا تأخذ مرشحًا ولا تفحص شيئًا، لذا فهي سريعة جدًا، لكن القيمة قد تتأخر عن الواقع (خاصة في عناقيد التجزئة غير المفرَّغة). وهي مناسبة للوحات المؤشرات وتقديرات السعة حيث لا تكون الدقة حرجة؛ للعدّ الدقيق استخدم countDocuments().
| الفئة | القراءة |
|---|---|
| إصدار MongoDB | 1.0+ |
| لغة المثال | mongosh (الطرفية) |
📝 الصيغة
db.<collection>.estimatedDocumentCount()
القيمة المرجعة:العدد الإجمالي المقدَّر للمستندات (عدد صحيح).
▶ مثال
نفّذ الأوامر التالية في mongosh المحلي لديك (يتطلب تشغيل mongod):
// estimatedDocumentCount: التحقق السريع من إجمالي المستخدمين
const n = db.users.estimatedDocumentCount()
print('Total users (estimate): ' + n)
المخرجات:
Total users (estimate): 1000
📌 ملاحظات
- لا تأخذ مرشحًا — للمجموعة كاملة فقط
- مبنية على البيانات الوصفية وقد تتأخر عن الواقع
- سريعة لكن غير مضمونة الدقة؛ استخدم countDocuments() عندما تكون الدقة مهمة
🏷️ وسوم ذات صلة
💡 حالات ذات صلة
📚 دروس ذات صلة
❓ الأسئلة الشائعة
Qلماذا تكون estimatedDocumentCount أسرع من countDocuments؟
Aلأنها تقرأ العدد من البيانات الوصفية للمجموعة دون فحص المستندات؛ بينما تقيّم countDocuments() المرشح فعلًا.
Qهل estimatedDocumentCount دقيقة؟
Aقريبة عادةً لكنها غير مضمونة؛ قد توسّع الكتابات الكثيفة أو التجزئة الفجوة.
Qأي طريقة عدّ ينبغي أن أختار؟
Aاستخدم countDocuments() للعدّ الدقيق أو المفلتر؛ وestimatedDocumentCount() عندما تهم الحجم والسرعة.