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

distinct()

القيم الفريدة لحقل distinct()

distinct() ترجع مصفوفة بالقيم الفريدة (بدون تكرار) لحقل معيّن عبر المستندات المطابقة.

مفيدة لبناء قوائم فلترة سريعة، مثل جلب كل الفئات (categories) الموجودة فعليًّا في مجموعة منتجات، بدل تكرار المنطق يدويًّا. إذا كان الحقل مصفوفة، تُعامَل كل عنصر فيها كقيمة مستقلّة.

الصياغة

db.collection.distinct(<field>, <query>)

📄 مثال

db.products.distinct("category")
// ["إلكترونيات", "ملابس", "كتب"]

// مع فلتر: فقط الفئات ضمن المنتجات المتوفّرة
db.products.distinct("category", { inStock: true })

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

المعاملالوظيفة
fieldاسم الحقل المراد استخراج قيمه الفريدة
queryفلتر لتقييد المستندات قبل الاستخراج (اختياري)

💡 نصائح عملية

  • فهرس على الحقل يجعل distinct() أسرع بكثير خصوصًا على مجموعات كبيرة

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

  • استخدامها كبديل لعدّ القيم — distinct() ترجع القيم نفسها لا عددها، تحتاج .length إن أردت العدد

خصائص ذات صلة

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

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