$toInt (التحويل إلى عدد صحيح 32-بت)
آخر تحديث: 2026-10-09
$toInt (التحويل إلى عدد صحيح 32-بت)
يحوّل $toInt قيمة إلى عدد صحيح موقع 32-بت (int من BSON). يقبل الأرقام والسلاسل الرقمية والقيم المنطقية؛ ويبقى null null. الاستخدامات النموذجية: توحيد السلاسل الصحيحة من الأنظمة الخارجية أو تقريب الأعداد العشرية إلى أعداد صحيحة. القيم خارج نطاق 32-بت (نحو 2.1 مليار) تُسبب خطأً — استخدم $toLong للأعداد الكبيرة. يجب أن تكون السلاسل صيغ أعداد صحيحة؛ والسلسلة الكسرية مثل '4.5' تُسبب خطأً. وهو مختصر $convert لـ to: int.
| الفئة | المجموعة والشرط والتحويل |
|---|---|
| إصدار MongoDB | 1.0+ |
| لغة المثال | mongosh (الطرفية) |
📝 الصيغة
{ $toInt: <expression> }
⚙️ المعلمات
| تعبير | رقم أو نص رقمي أو قيمة منطقية. |
|---|
القيمة المرجعة:قيمة int؛ null عندما يكون الإدخال null
▶ مثال
نفّذ الأوامر التالية في mongosh المحلي لديك (يتطلب تشغيل mongod):
// $toInt: تحليل سلسلة كمية إلى عدد صحيح
db.orders.aggregate([
{ $project: {
qty: { $toInt: '$qtyStr' }
} }
])
المخرجات:
{ '_id': 1, 'qty': 3 }
📌 ملاحظات
- نطاق 32-بت نحو 2.1 مليار؛ وما بعده يُسبب خطأً، لذا استخدم $toLong للأعداد الكبيرة
- يجب أن تكون السلاسل صيغ أعداد صحيحة؛ و '4.5' تُسبب خطأً
- true تصبح 1 و false تصبح 0
🏷️ وسوم ذات صلة
💡 حالات ذات صلة
مزيد من الحالات العملية قريبًا.
📚 دروس ذات صلة
❓ الأسئلة الشائعة
Qماذا يحدث خارج نطاق 32-بت؟
Aيُسبب خطأً؛ انتقل إلى $toLong.
Qهل يمكن تحويل السلسلة '4.5'؟
Aلا — يجب أن تكون صيغة عدد صحيح؛ والسلاسل الكسرية تُسبب خطأً.
Qكيف يختلف عن $toLong؟
Aيختلف العرض: $toInt بـ 32-بت و $toLong بـ 64-بت.