تخطَّ إلى المحتوى

findOne()

جلب مستند واحد findOne()

findOne() ترجع أوّل مستند مطابق للفلتر مباشرة (كائن واحد)، لا cursor.

مفيدة عندما تعرف أن النتيجة يجب أن تكون مستندًا واحدًا (مثل البحث بـ _id فريد أو بريد إلكتروني)، فتوفّر عليك التعامل مع cursor أو مصفوفة.

الصياغة

db.collection.findOne(<filter>, <projection>)

📄 مثال

db.users.findOne({ email: "user@example.com" })

// ترجع null إن لم يوجد تطابق
const u = db.users.findOne({ _id: ObjectId("...") })
if (!u) { /* لم يوجد */ }

أهم المعاملات

المعاملالوظيفة
filterشرط المطابقة
projectionالحقول المراد إرجاعها أو استبعادها (اختياري)

💡 نصائح عملية

  • بلا فهرس مناسب، findOne() تبحث تسلسليًّا حتى تجد أوّل تطابق — أضف فهرسًا على الحقل المستعلَم عنه كثيرًا

⚠️ أخطاء شائعة

  • عدم التحقق من قيمة null المرتجعة عند عدم وجود تطابق، ما يسبّب خطأ عند محاولة قراءة خاصية من نتيجة فارغة

خصائص ذات صلة

🎓 تريد فهم الصورة الكاملة خطوة بخطوة؟ ابدأ من مسار MONGODB الكامل بالعربي.

📚 للتعمق التقني الكامل بالإنجليزية: MDN Web Docs