$indexOfBytes (فهرس السلسلة الفرعية بالبايتات)

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

$indexOfBytes (فهرس السلسلة الفرعية بالبايتات)

يُرجع $indexOfBytes فهرس بايت UTF-8 لأول ظهور لسلسلة فرعية، أو -1 عند عدم العثور. يحدّان start و end الاختياريان نافذة البحث. تتباعد فهارس البايت عن فهارس نقاط الرموز مع الأحرف متعددة البايت: فالصينية تشغل عدة بايتات، لذا قد يقع فهرس البايت في منتصف الحرف — فضّل $indexOfCP للنصوص المرئية للمستخدم. أي وسيطة فارغة تُرجع null.

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

📝 الصيغة

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

⚙️ المعلمات

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

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

▶ مثال

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

// $indexOfBytes: تحديد موقع ERROR في رسائل السجلات
db.logs.aggregate([
  { $project: { pos: { $indexOfBytes: [ '$msg', 'ERROR' ] } } }
])

المخرجات:

{ "_id": 1, "pos": 12 }
{ "_id": 2, "pos": -1 }

📌 ملاحظات

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

📚 دروس ذات صلة

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

Qماذا يُرجع عند غياب السلسلة الفرعية؟
A-1.
Qهل تنجرف المواضع مع النص الصيني؟
Aنعم — الحرف الصيني 3 بايتات؛ فضّل $indexOfCP للنص الصيني.
Qكيف أحد نطاق البحث؟
Aمرّر الوسيطتين الثالثة والرابعة كـ start و end.
Web-Tutorial.com

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

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

100%