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