noCursorTimeout() (تعطيل مهلة المؤشر)

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

noCursorTimeout() (تعطيل مهلة المؤشر)

تعطّل noCursorTimeout() مهلة الخمول الخاصة بالمؤشر على الخادم: `db.users.find().noCursorTimeout()`. افتراضيًا، تُقتلع المؤشرات الخاملة بعد عشر دقائق؛ مع هذه العلامة يمكن أن يعيش المؤشر طويلًا — مفيدة للمستهلكين البطيئين للدفعات الكبيرة. تحذير: المؤشرات طويلة العمر تمسك موارد الخادم، فاستدعِ close() يدويًا عند الانتهاء لتجنب التسرب.

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

📝 الصيغة

db.<collection>.find(<filter>).noCursorTimeout()

القيمة المرجعة:المؤشر مع تعطيل المهلة الزمنية (قابل للتسلسل).

▶ مثال

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

// noCursorTimeout: اجتياز طويل لمجموعة كبيرة
const cursor = db.logs.find().noCursorTimeout().batchSize(100)
cursor.forEach(doc => processDoc(doc))
cursor.close()

المخرجات:

(اكتمل التكرار دون أي مخرجات)

📌 ملاحظات

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

📚 دروس ذات صلة

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

Qما مهلة المؤشر الافتراضية؟
Aيقتلع الخادم المؤشرات الخاملة بعد عشر دقائق؛ noCursorTimeout() تعطّل ذلك.
Qبمَ يجب أن أنتبه مع noCursorTimeout؟
Aاستدعِ close() دائمًا عند الانتهاء أو عند الخروج المبكر، وإلا تتسرب موارد الخادم.
Qمتى أحتاج noCursorTimeout؟
Aوظائف الدفعات البطيئة التي قد تتجاوز عشر دقائق لكل مؤشر، مثل تنظيف ملايين المستندات واحدًا تلو الآخر.
Web-Tutorial.com

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

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

100%