$unionWith (الاتحاد مع)

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

$unionWith (الاتحاد مع)

يدمج $unionWith النتائج المتراكمة لخط الأنابيب مع مستندات من مجموعة أخرى (أو نفسها)، مع معالجة مسبقة اختيارية لتلك المجموعة بخط أنابيب فرعي. المخرج الافتراضي هو الاتحاد دون إزالة تكرار. جيد لدمج المجموعات في تدفق تقرير واحد؛ المستندات ذات الأشكال المختلفة تتعايش ببساطة.

الفئةالمتقدم والتشخيص
إصدار MongoDB4.4+
لغة المثالmongosh (الطرفية)

📝 الصيغة

{ $unionWith: { coll: "<collection>", pipeline: [ <sub-pipeline> ] } }

⚙️ المعلمات

collالمجموعة الهدف المراد الاتحاد معها.
pipelineخط أنابيب فرعي اختياري يعالج المجموعة الهدف مسبقًا.

القيمة المرجعة:تدفق مستندات مدمج من المصدرين

▶ مثال

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

// $unionWith: دمج q2 في q1، مع تصفية
db.q1.aggregate([
  { $unionWith: { coll: 'q2', pipeline: [{ $match: { active: true } }] } }
])

المخرجات:

// نتائج q1 بالإضافة إلى مستندات q2 النشطة

📌 ملاحظات

📚 دروس ذات صلة

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

Qهل يزيل $unionWith التكرار؟
Aلا. يوحد المصدرين؛ قد تظهر تكرارات.
Qهل يمكن لخط الأنابيب الفرعي الفرز؟
Aنعم، بمراحل عادية غير $out و $merge و $facet.
Qهل يمكنه توحيد نفس المجموعة مرتين؟
Aنعم، وجّه coll إلى المجموعة الحالية لاتحاد ذاتي.
Web-Tutorial.com

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

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

100%