$concat (دمج السلاسل النصية)
آخر تحديث: 2026-10-09
$concat (دمج السلاسل النصية)
يقوم $concat بدمج سلسلتين أو أكثر (أو تعبيرات تُقيَّم إلى سلاسل نصية) في سلسلة واحدة. وهو عامل السلاسل الأكثر شيوعًا في تعبيرات التجميع، ويُستخدم لدمج الأسماء أو بناء العناوين أو إنشاء تسميات المخرجات. إذا كانت أي وسيطة فارغة (null) أو مفقودة، يُرجع $concat قيمة null.
| الفئة | النص |
|---|---|
| إصدار MongoDB | 1.0+ |
| لغة المثال | mongosh (الطرفية) |
📝 الصيغة
{ $concat: [ <expression1>, <expression2>, ... ] }
⚙️ المعلمات
| تعبير | نصوص أو تعبيرات تُحلّ إلى نصوص؛ اثنان على الأقل. |
|---|
القيمة المرجعة:النص المدمج؛ null إذا كان أي معامل null
▶ مثال
نفّذ الأوامر التالية في mongosh المحلي لديك (يتطلب تشغيل mongod):
// $concat: دمج الاسم الأول واسم العائلة
db.users.aggregate([
{ $project: {
fullName: { $concat: [ "$firstName", " ", "$lastName" ] }
} }
])
المخرجات:
{ "_id": 1, "fullName": "Alice Johnson" }
{ "_id": 2, "fullName": "Bob Smith" }
📌 ملاحظات
- أي وسيطة فارغة أو مفقودة تجعل النتيجة null (استخدم $ifNull للحماية)
- يقبل $concat السلاسل النصية فقط؛ حوّل الأرقام باستخدام $toString أولًا
- السلسلة الفارغة ('') وسيطة صالحة ولا تُنتج null
🏷️ وسوم ذات صلة
💡 حالات ذات صلة
مزيد من الحالات العملية قريبًا.
📚 دروس ذات صلة
❓ الأسئلة الشائعة
Qهل يمكن لـ $concat دمج الأرقام؟
Aليس مباشرة — إنه يرمي خطأً. حوّل الأرقام إلى سلاسل نصية باستخدام $toString أو $convert أولًا.
Qماذا يحدث إذا كان الحقل فارغًا أو مفقودًا أثناء الدمج؟
Aإذا كانت أي وسيطة فارغة أو مفقودة، يُرجع $concat null (لا خطأ ولا تخطي). لفّ الوسائط بـ $ifNull لتوفير قيم بديلة.
Qهل يمكن لـ $concat دمج المصفوفات؟
Aلا. يقبل $concat السلاسل النصية فقط؛ استخدم $concatArrays للمصفوفات و $mergeObjects للكائنات.