$indexOfCP (فهرس السلسلة الفرعية بنقاط الرموز)

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

$indexOfCP (فهرس السلسلة الفرعية بنقاط الرموز)

يُرجع $indexOfCP فهرس نقطة الرمز (الحرف) لأول ظهور لسلسلة فرعية، أو -1 عند عدم العثور. يعدّ بالأحرف، بما يطابق الإدراك البشري ويبقى آمنًا مع الصينية والرموز التعبيرية — الخيار المفضّل للعمل النصي. يحدّان start و end الاختياريان النافذة، أيضًا بنقاط الرموز. يدمج مع $substrCP و $strLenCP للتقطيع. أي وسيطة فارغة تُرجع null.

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

📝 الصيغة

{ $indexOfCP: [ <string-expression>, <substring>, <start>, <end> ] }

⚙️ المعلمات

سلسلة نصيةمطلوب؛ النص المصدر.
سلسلة فرعيةمطلوب؛ النص الفرعي المراد إيجاده.
البداية/النهايةنافذة البحث اختيارية، بنقاط الكود.

القيمة المرجعة:فهرس نقطة الكود (يبدأ من الصفر)؛ -1 عند عدم العثور عليه؛ وnull إذا كان أي معامل null.

▶ مثال

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

// $indexOfCP: تحديد موقع @ في رسائل البريد
db.users.aggregate([
  { $project: { at: { $indexOfCP: [ '$email', '@' ] } } }
])

المخرجات:

{ "_id": 1, "at": 6 }
{ "_id": 2, "at": -1 }

📌 ملاحظات

مزيد من الحالات العملية قريبًا.

📚 دروس ذات صلة

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

Qماذا يُرجع عند عدم العثور؟
A-1.
Qهل يطابق $indexOfBytes؟
Aنفسه مع ASCII الخالص؛ ويختلف مع الصينية — $indexOfCP يعطي مواضع الأحرف.
Qماذا عن السلسلة الفرعية الفارغة؟
Aيُرجع فهرس البداية (0 افتراضيًا)، كما تفعل معظم اللغات.
Web-Tutorial.com

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

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

100%