$setUnion (اتحاد المجموعات)
آخر تحديث: 2026-10-09
$setUnion (اتحاد المجموعات)
يدمج $setUnion كل مصفوفات المدخل ويزيل تكرارات العناصر، مُرجعًا الاتحاد. الاستخدامات النموذجية: دمج الوسوم من مصادر متعددة أو تجميع معرّفات العملاء المحتملين المجمعة عبر قنوات مختلفة. يقبل مصفوفتين أو أكثر، وتُتجاهل عناصر null. لا يوجد ترتيب مضمون للنتيجة، وتنكمش التكرارات إلى واحدة. على عكس $concatArrays الذي يحتفظ بالتكرارات ويحافظ على ترتيب الدمج، يتبع $setUnion دلالات المجموعات ويزيل التكرار.
| الفئة | المجموعة والشرط والتحويل |
|---|---|
| إصدار MongoDB | 1.0+ |
| لغة المثال | mongosh (الطرفية) |
📝 الصيغة
{ $setUnion: [ <array1>, <array2>, ... ] }
⚙️ المعلمات
| مصفوفة | مصفوفتان على الأقل تُرجع اتحادهما. |
|---|
القيمة المرجعة:دمج بدون تكرار لجميع عناصر الإدخال
▶ مثال
نفّذ الأوامر التالية في mongosh المحلي لديك (يتطلب تشغيل mongod):
// $setUnion: دمج مجموعتي الوسوم
db.products.aggregate([
{ $project: {
allTags: { $setUnion: ['$tags', '$extraTags'] }
} }
])
المخرجات:
{ '_id': 1, 'allTags': [ 'a', 'b', 'c', 'd' ] }
📌 ملاحظات
- النتيجة منزوعة التكرار دون ترتيب مضمون
- تُتجاهل عناصر null
- استخدم $concatArrays عندما يجب الاحتفاظ بالتكرارات والترتيب
🏷️ وسوم ذات صلة
💡 حالات ذات صلة
مزيد من الحالات العملية قريبًا.
📚 دروس ذات صلة
❓ الأسئلة الشائعة
Qكيف يختلف عن $concatArrays؟
A$setUnion يزيل التكرارات دون ترتيب؛ و $concatArrays يحتفظ بالتكرارات بالترتيب.
Qكم عدد المصفوفات المدعومة؟
Aمصفوفتان أو أكثر.
Qهل النتيجة منزوعة التكرار؟
Aنعم — بموجب دلالات المجموعات يظهر كل عنصر مرة واحدة.