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