$concatArrays (دمج المصفوفات)

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

$concatArrays (دمج المصفوفات)

يدمج $concatArrays عدة مصفوفات في واحدة دون إزالة التكرار. كتعبير مصفوفة فهو شائع في $project و $addFields؛ ومنذ MongoDB 8.1 يمكنه أيضًا العمل كمُراكم $group، دامجًا حقول المصفوفات عبر مستندات المجموعة. وعلى خلاف $setUnion، تُحتفظ التكرارات.

الفئةالتراكميات
إصدار MongoDB1.0+
لغة المثالmongosh (الطرفية)

📝 الصيغة

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

القيمة المرجعة:مصفوفة جديدة بدمج جميع مصفوفات الإدخال (مع الاحتفاظ بالتكرار)

▶ مثال

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

// $concatArrays: إلحاق وسم في $project
db.products.aggregate([
  { $project: { allTags: { $concatArrays: ['$tags', ['hot']] } } }
])

المخرجات:

{ "_id": 1, "allTags": ["a", "b", "hot"] }

📌 ملاحظات

📚 دروس ذات صلة

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

Qهل يزيل $concatArrays التكرار؟
Aلا؛ استخدم $setUnion عندما تكون إزالة التكرار مطلوبة.
Qماذا لو لم يكن الإدخال مصفوفة؟
Aيرمي خطأ؛ يجب أن تكون كل المدخلات مصفوفات — تحقق أولًا بـ $isArray.
Qهل يمكن استخدامه كمُراكم $group؟
Aمنذ MongoDB 8.1، نعم — دمج حقول المصفوفات عبر مستندات المجموعة.
Web-Tutorial.com

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

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

100%