Mongodb: كيفية حساب القيم المميزة في الحقل
يمكنك استخدام الطرق التالية لحساب القيم المميزة في حقل معين في MongoDB:
الطريقة الأولى: البحث عن قائمة بالقيم المميزة
db.collection.distinct( 'field_name' )
الطريقة الثانية: ابحث عن عدد القيم المميزة
db.collection.distinct( 'field_name' ).length
توضح الأمثلة التالية كيفية استخدام كل طريقة مع فريق التحصيل مع المستندات التالية:
db.teams.insertOne({team: " Mavs ", position: " Guard ", points: 31 }) db.teams.insertOne({team: " Mavs ", position: " Guard ", points: 22 }) db.teams.insertOne({team: " Rockets ", position: " Center ", points: 19 }) db.teams.insertOne({team: " Rockets ", position: " Forward ", points: 26 }) db.teams.insertOne({team: " Cavs ", position: " Guard ", points: 33 })
مثال 1: ابحث عن قائمة بالقيم المميزة
يمكننا استخدام الكود التالي للعثور على قائمة بالقيم المميزة في حقل “الفريق”:
db.teams.distinct( 'team' )
يُرجع هذا الاستعلام النتيجة التالية:
['Cavs', 'Mavs', 'Rockets']
تعرض النتيجة أسماء الفرق الثلاثة المميزة لجميع المستندات.
يمكننا أيضًا استخدام الكود التالي للعثور على قائمة بالقيم المميزة في حقل “الموضع”:
db.teams.distinct( 'position' )
يُرجع هذا الاستعلام النتيجة التالية:
['Center', 'Forward', 'Guard']
ملاحظة : يقوم MongoDB بفرز القيم المميزة أبجديًا بشكل افتراضي.
مثال 2: ابحث عن عدد القيم الفريدة
يمكننا استخدام الكود التالي لحساب عدد القيم المميزة في حقل “الفريق”:
db.teams.distinct( 'team' ).length
يُرجع هذا الاستعلام النتيجة التالية:
3
يخبرنا هذا أن هناك 3 قيم مميزة في حقل “الفريق”.
يمكننا أيضًا استخدام الكود التالي لحساب عدد القيم الفريدة في حقل “النقاط”:
db.teams.distinct( 'points' ).length
يُرجع هذا الاستعلام النتيجة التالية:
5
يخبرنا هذا أن هناك 5 قيم مميزة في حقل “النقاط”.
ملاحظة : يمكنك العثور على الوثائق الكاملة للوظيفة المنفصلة هنا .
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ العمليات الشائعة الأخرى في MongoDB:
MongoDB: كيفية التجميع والعد
MongoDB: كيفية التجميع حسب حقول متعددة
MongoDB: كيفية العثور على الحد الأقصى للقيمة في المجموعة