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