allowDiskUse() (السماح بالقرص للترتيب)

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

allowDiskUse() (السماح بالقرص للترتيب)

تسمح allowDiskUse() لمؤشر بالتفريغ إلى القرص للعمليات الحاجزة مثل sort() التي تطلب ذاكرة كبيرة: `db.users.find().sort({ age: -1 }).allowDiskUse()`. الترتيبات فوق حد الذاكرة 100 ميجابايت ترفع خطأً افتراضيًا؛ مع هذه العلامة تستقر النتائج الوسيطة في ملفات مؤقتة. وتنقذ الترتيبات والتجميعات الضخمة بكلفة أداء إدخال/إخراج القرص.

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

📝 الصيغة

db.<collection>.find(<filter>).sort(<sortKey>).allowDiskUse()

القيمة المرجعة:المؤشر مع تمكين الكتابة على القرص (قابل للتسلسل).

▶ مثال

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

// allowDiskUse: السماح بالتفريغ إلى القرص لترتيب ضخم
const result = db.logs.find({ level: 'error' })
  .sort({ timestamp: -1 })
  .allowDiskUse()
  .toArray()
result.length

المخرجات:

1200

📌 ملاحظات

مزيد من الحالات العملية قريبًا.

📚 دروس ذات صلة

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

Qمتى أحتاج allowDiskUse؟
Aفعّلها عندما يتجاوز ترتيب أو تجميع حد الذاكرة 100 ميجابايت ويرفع خطأً، مثل ترتيب مجموعة ضخمة بأكملها.
Qهل تضر allowDiskUse بالأداء؟
Aنعم — تفريغ القرص أبطأ بكثير من العمل في الذاكرة الخالصة؛ فضّل الترتيبات المسنودة بفهرس لتجنبها.
Qهل allowDiskUse هي نفسها خيار التجميع؟
Aالدلالة نفسها — تفريغ الوسائط إلى القرص؛ طريقة المؤشر تخدم find().sort()، وخيار التجميع يخدم aggregate().
Web-Tutorial.com

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

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

100%