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

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

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

يستخرج $substrBytes سلسلة فرعية بمواضع بايت UTF-8؛ إذ يعدّ كل من start و length بالبايتات. يناسب النصوص ASCII الخالصة (حيث تساوي البايتات الأحرف) أو الحالات التي تتطلب تحكمًا دقيقًا بالبايتات. احذر: مع الأحرف متعددة البايت مثل الصينية، قد تقع حدود البايت في منتصف الحرف وتُفسد المخرجات — انتقل إلى $substrCP القائم على نقاط الرموز حينها. البداية السالبة تُرجع سلسلة فارغة؛ والطول السالب يُرجع البقية.

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

📝 الصيغة

{ $substrBytes: [ <string-expression>, <byte-start>, <byte-length> ] }

⚙️ المعلمات

سلسلة نصيةمطلوب؛ تعبير النص المصدر.
موضع البداية بالبايتعدد صحيح مطلوب بالبايت، يبدأ من الصفر.
الطول بالبايتعدد صحيح مطلوب بالبايت.

القيمة المرجعة:النص الفرعي المستخرج؛ null إذا كان أي معامل null.

▶ مثال

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

// $substrBytes: أول 10 بايتات من المحتوى
db.files.aggregate([
  { $project: { head: { $substrBytes: [ '$content', 0, 10 ] } } }
])

المخرجات:

{ "_id": 1, "head": "hello wor" }
{ "_id": 2, "head": "MongoDB su" }

📌 ملاحظات

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

📚 دروس ذات صلة

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

Qهل يمكن أن يشوّه القص بالبايتات الصينية؟
Aربما — الحرف الصيني 3 بايتات، وحدود سيئة تُفسده؛ فضّل $substrCP.
Qمتى تتطابق النتائج مع $substrCP؟
Aعندما تكون السلسلة ASCII خالصة.
Qلماذا يُستخدم؟
Aللنصوص ASCII الخالصة أو الميزانيات الدقيقة للبايتات.
Web-Tutorial.com

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

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

100%