$split (تقسيم السلسلة النصية)
آخر تحديث: 2026-10-09
$split (تقسيم السلسلة النصية)
يقسم $split سلسلة نصية إلى مصفوفة من سلاسل فرعية حسب محدد — أداة أساسية للنصوص المشابهة لـ CSV، قوائم الوسوم، والمسارات. يجب أن يكون المحدد سلسلة غير فارغة؛ والمحدد الفارغ يقسم حسب نقاط الرموز الفردية. يدمج جيدًا مع عوامل المصفوفات مثل $arrayElemAt و $size. إذا كانت أي وسيطة فارغة أو مفقودة، تكون النتيجة null.
| الفئة | النص |
|---|---|
| إصدار MongoDB | 1.0+ |
| لغة المثال | mongosh (الطرفية) |
📝 الصيغة
{ $split: [ <string-expression>, <delimiter> ] }
⚙️ المعلمات
| سلسلة نصية | مطلوب؛ النص أو التعبير المراد تقسيمه. |
|---|---|
| المحدِّد | مطلوب وغير فارغ؛ النص الفارغ يقسّم حسب نقاط الكود. |
القيمة المرجعة:مصفوفة من النصوص الفرعية؛ null إذا كان أي معامل null.
▶ مثال
نفّذ الأوامر التالية في mongosh المحلي لديك (يتطلب تشغيل mongod):
// $split: تقسيم الوسوم المفصولة بفواصل إلى مصفوفة
db.products.aggregate([
{ $project: { tags: { $split: [ '$tagStr', ',' ] } } }
])
المخرجات:
{ "_id": 1, "tags": [ "sale", "new", "hot" ] }
{ "_id": 2, "tags": [ "featured" ] }
📌 ملاحظات
- المحدد الفارغ يقسم حسب نقاط الرموز، عنصر واحد لكل حرف
- إذا لم يظهر المحدد أبدًا، تحتوي المصفوفة السلسلة الأصلية
- الوسائط الفارغة أو المفقودة تُرجع null
🏷️ وسوم ذات صلة
💡 حالات ذات صلة
مزيد من الحالات العملية قريبًا.
📚 دروس ذات صلة
❓ الأسئلة الشائعة
Qهل يمكن أن يكون المحدد سلسلة فارغة؟
Aنعم — السلسلة الفارغة تقسم حسب نقاط الرموز الفردية.
Qكيف أحصل على أول عنصر بعد التقسيم؟
Aاستخدم $arrayElemAt بالفهرس 0.
Qماذا لو لم يظهر المحدد أبدًا؟
Aتحتوي المصفوفة السلسلة الأصلية فقط.