$strLenCP (الطول بنقاط الرموز)
آخر تحديث: 2026-10-09
$strLenCP (الطول بنقاط الرموز)
يُرجع $strLenCP عدد نقاط رموز يونيكود في سلسلة نصية — أساسًا عدد الأحرف الذي يدركه الناس. تعدّ الصينية واليابانية والرموز التعبيرية كلًا منها 1، مما يجعله صحيحًا لقيود الأسماء المستعارة أو ملخصات النصوص. على عكس $strLenBytes الذي يعدّ البايتات، لا تضخّم الأحرف متعددة البايت النتيجة. لاحظ أن الأحرف المركبة (مثل الرموز التعبيرية ذات لون البشرة) قد تمتد عبر عدة نقاط رموز.
| الفئة | النص |
|---|---|
| إصدار MongoDB | 1.0+ |
| لغة المثال | mongosh (الطرفية) |
📝 الصيغة
{ $strLenCP: <string-expression> }
⚙️ المعلمات
| سلسلة نصية | مطلوب؛ تعبير النص المراد قياسه. |
|---|
القيمة المرجعة:طول نقاط الكود كعدد صحيح.
▶ مثال
نفّذ الأوامر التالية في mongosh المحلي لديك (يتطلب تشغيل mongod):
// $strLenCP: التحقق من طول الاسم المستعار
db.users.aggregate([
{ $project: { len: { $strLenCP: '$nickname' } } }
])
المخرجات:
{ "_id": 1, "len": 4 }
{ "_id": 2, "len": 2 }
📌 ملاحظات
- الحرف الصيني أو الرمز التعبيري الواحد يعدّ نقطة رمز واحدة
- الأحرف المركبة (مثل الرموز التعبيرية ذات لون البشرة) قد تمتد عبر عدة نقاط رموز
- لبايتات التخزين، استخدم $strLenBytes
🏷️ وسوم ذات صلة
💡 حالات ذات صلة
مزيد من الحالات العملية قريبًا.
📚 دروس ذات صلة
❓ الأسئلة الشائعة
Qأيهما لاسم مستعار بحد 20 حرفًا؟
Aاستخدم $strLenCP — فهو يعدّ الأحرف.
Qما المسافة عن $strLenBytes؟
Aكل حرف صيني يختلف ببايتين.
Qكم يعدّ الرمز التعبيري؟
Aالبسيط يعدّ 1؛ والمركب قد يعدّ 2 أو أكثر.