$setUnion (اتحاد المجموعات)

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

$setUnion (اتحاد المجموعات)

يدمج $setUnion كل مصفوفات المدخل ويزيل تكرارات العناصر، مُرجعًا الاتحاد. الاستخدامات النموذجية: دمج الوسوم من مصادر متعددة أو تجميع معرّفات العملاء المحتملين المجمعة عبر قنوات مختلفة. يقبل مصفوفتين أو أكثر، وتُتجاهل عناصر null. لا يوجد ترتيب مضمون للنتيجة، وتنكمش التكرارات إلى واحدة. على عكس $concatArrays الذي يحتفظ بالتكرارات ويحافظ على ترتيب الدمج، يتبع $setUnion دلالات المجموعات ويزيل التكرار.

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

📝 الصيغة

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

⚙️ المعلمات

مصفوفةمصفوفتان على الأقل تُرجع اتحادهما.

القيمة المرجعة:دمج بدون تكرار لجميع عناصر الإدخال

▶ مثال

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

// $setUnion: دمج مجموعتي الوسوم
db.products.aggregate([
  { $project: {
      allTags: { $setUnion: ['$tags', '$extraTags'] }
  } }
])

المخرجات:

{ '_id': 1, 'allTags': [ 'a', 'b', 'c', 'd' ] }

📌 ملاحظات

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

📚 دروس ذات صلة

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

Qكيف يختلف عن $concatArrays؟
A$setUnion يزيل التكرارات دون ترتيب؛ و $concatArrays يحتفظ بالتكرارات بالترتيب.
Qكم عدد المصفوفات المدعومة؟
Aمصفوفتان أو أكثر.
Qهل النتيجة منزوعة التكرار؟
Aنعم — بموجب دلالات المجموعات يظهر كل عنصر مرة واحدة.
Web-Tutorial.com

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

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

100%