$setIsSubset (التحقق من علاقة المجموعة الجزئية)

آخر تحديث: 2026-10-09

$setIsSubset (التحقق من علاقة المجموعة الجزئية)

يتحقق $setIsSubset مما إذا كان كل عنصر من المصفوفة الأولى يظهر أيضًا في الثانية — أي ما إذا كانت المجموعة الأولى مجموعة جزئية من الثانية. الاستخدامات النموذجية: التحقق من أن صلاحيات المستخدم تغطي كل الصلاحيات التي تتطلبها عملية، أو أن الوسوم المختارة تنتمي كلها إلى قائمة مسموحة. المصفوفة الأولى الفارغة تُرجع true؛ والمصفوفة الثانية الفارغة مع الأولى غير الفارغة تُرجع false. تُتجاهل عناصر null.

الفئةالمجموعة والشرط والتحويل
إصدار MongoDB1.0+
لغة المثالmongosh (الطرفية)

📝 الصيغة

{ $setIsSubset: [ <arrayA>, <arrayB> ] }

⚙️ المعلمات

مصفوفة Aالمجموعة الفرعية المرشَّحة.
مصفوفة Bالمجموعة الشاملة.

القيمة المرجعة:‏true عندما يكون كل عنصر في A موجودًا في B، وإلا false

▶ مثال

نفّذ الأوامر التالية في mongosh المحلي لديك (يتطلب تشغيل mongod):

// $setIsSubset: هل كل الصلاحيات المختارة مسموحة
db.roles.aggregate([
  { $project: {
      ok: { $setIsSubset: ['$selected', '$allowed'] }
  } }
])

المخرجات:

{ '_id': 1, 'ok': true }

📌 ملاحظات

مزيد من الحالات العملية قريبًا.

📚 دروس ذات صلة

❓ الأسئلة الشائعة

Qماذا تُرجع المصفوفة الأولى الفارغة؟
Atrue — المجموعة الفارغة مجموعة جزئية من كل مجموعة.
Qكيف يختلف عن $setEquals؟
A$setIsSubset يتحقق من الاحتواء في اتجاه واحد؛ و $setEquals يتحقق من المساواة في الاتجاهين.
Qهل يؤثر الترتيب في النتيجة؟
Aلا — دلالات المجموعات تتجاهل الترتيب.
Web-Tutorial.com

فريق Web-Tutorial التقني

منصة دروس برمجية يديرها عدة مطورين. كل درس يتم كتابته ومراجعته بواسطة مطورين متخصصين في المجال. نعمل على ضمان دقة وموثوقية المحتوى — إذا لاحظت أي مشكلة، فيرجى إخبارنا.

100%