tryNext() (محاولة جلب المستند التالي)
آخر تحديث: 2026-10-09
tryNext() (محاولة جلب المستند التالي)
تحاول tryNext() إعادة المستند التالي من مؤشر، معيِّنةً null بدلًا من رفع خطأ عند النهاية: `const doc = db.users.find().tryNext()`. على عكس next() التي ترفع خطأً عند النفاد، تبقي tryNext() كود التكرار آمنًا وموجزًا — رائعة للحلقات الشرطية والقراءات المتسامحة مع الأخطاء.
| الفئة | المؤشر |
|---|---|
| إصدار MongoDB | 1.0+ |
| لغة المثال | mongosh (الطرفية) |
📝 الصيغة
db.<collection>.find(<filter>).tryNext()
القيمة المرجعة:المستند التالي؛ null عند استنفاد المؤشر.
▶ مثال
نفّذ الأوامر التالية في mongosh المحلي لديك (يتطلب تشغيل mongod):
// tryNext: تكرار آمن دون hasNext
const cursor = db.users.find()
let doc
while ((doc = cursor.tryNext()) !== null) {
print(doc.name)
}
المخرجات:
Alice
Bob
Cara
📌 ملاحظات
- تُعيد null عند النهاية بدلًا من رفع خطأ
- يمكن أن تحل محل اقتران hasNext()+next()
- توقف في أي وقت بالخروج من الحلقة
🏷️ وسوم ذات صلة
💡 حالات ذات صلة
مزيد من الحالات العملية قريبًا.
📚 دروس ذات صلة
❓ الأسئلة الشائعة
Qما الفرق بين tryNext و next؟
Aعند النهاية ترفع next() خطأً بينما تُعيد tryNext() null — والأخيرة تكرّر بأمان أكبر.
Qهل يمكن أن تحل tryNext محل hasNext؟
Aنعم — نمط while ((doc = cursor.tryNext()) !== null) يكرّر بأمان دون hasNext().
Qهل عودة tryNext بقيمة null تعني النهاية؟
Aنعم — null تشير إلى نفاد المؤشر ويجب أن تتوقف الحلقة.