$setEquals (التحقق من تساوي المجموعات)

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

$setEquals (التحقق من تساوي المجموعات)

يتحقق $setEquals من تساوي مصفوفتين أو أكثر كمجموعات، متجاهلًا الترتيب والتكرارات. الاستخدامات النموذجية: التحقق من تطابق قائمتي صلاحيات أو مقارنة تكوين بالافتراضيات. يقبل وسائط متعددة ويُرجع true فقط عندما تكون كل المصفوفات متساوية كمجموعات. تُتجاهل عناصر null، لذا تُقارن المصفوفات المحتوية على null كما لو كانت غائبة. الترتيب لا يهم: [1, 2] و [2, 1] متساويان.

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

📝 الصيغة

{ $setEquals: [ <array1>, <array2>, ... ] }

⚙️ المعلمات

مصفوفةمصفوفتان على الأقل للمقارنة.

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

▶ مثال

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

// $setEquals: هل تتطابق قائمتا الصلاحيات
db.roles.aggregate([
  { $project: {
      samePerms: { $setEquals: ['$userPerms', '$defaultPerms'] }
  } }
])

المخرجات:

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

📌 ملاحظات

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

📚 دروس ذات صلة

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

Qهل يؤثر الترتيب في النتيجة؟
Aلا — مقارنة المجموعات تتجاهل الترتيب.
Qكم عدد الوسائط المدعومة؟
Aاثنتان على الأقل؛ ويكون true فقط عندما تكون كلها متساوية كمجموعات.
Qماذا عن المصفوفات المحتوية على null؟
Aتُتجاهل عناصر null، فتطابق النتيجة نسخة خالية منها.
Web-Tutorial.com

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

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

100%