Long (عدد صحيح 64-بت)
آخر تحديث: 2026-10-09
Long (عدد صحيح 64-بت)
Long عدد صحيح موقّع من 64 بتًا (نوع BSON int64)، تقريبًا ±9.2×10^18، ويُنشأ بـ `Long(42)` أو الاسم المستعار `NumberLong(42)`. استخدمه للطوابع الزمنية بالمللي ثانية والعدّادات الكبيرة والمعرّفات الضخمة. القيم فوق العدد الصحيح الآمن في جافاسكريبت (نحو 9×10^15) يجب بناؤها من سلاسل لتجنب فقدان الدقة.
| الفئة | أنواع BSON |
|---|---|
| إصدار MongoDB | 1.0+ |
| لغة المثال | mongosh (الطرفية) |
📝 الصيغة
Long(<integer>)
Long("<large number string>")
NumberLong("9223372036854775807")
القيمة المرجعة:يُرجع عددًا صحيحًا BSON من نوع Long (int64)
▶ مثال
نفّذ الأوامر التالية في mongosh المحلي لديك (يتطلب تشغيل mongod):
// Long: عدد صحيح كبير 64-بت
use shop
db.stats.insertOne({ total: Long('9223372036854775807') })
db.stats.find({ total: { $gt: Long(1000) } })
المخرجات:
{ _id: ObjectId('...'), total: Long('9223372036854775807') }
📌 ملاحظات
- ابنِ القيم فوق Number.MAX_SAFE_INTEGER من سلاسل
- تختلف أسماء الأنواع حسب المشغّل: Long (Java/Node)، Int64 (Python)
- خلط Int32 و Long يكسر اتساق $type
🏷️ وسوم ذات صلة
💡 حالات ذات صلة
الوثائق وBSON: حجر الأساس لبيانات MongoDB
إدراج المستندات: شرح مفصل لوظيفتي `insertOne` و`insertMany`
📚 دروس ذات صلة
❓ الأسئلة الشائعة
Qهل Long هو نفسه NumberLong؟
Aلا — NumberLong هو الاسم المستعار لـ Long في mongosh؛ كلاهما ينتج نوع int64.
Qما أكبر قيمة يمكن أن يحملها Long؟
Aموقّع 64-بت، نحو ±9.2×10^18 — أبعد بكثير من مدى العدد الصحيح الآمن في JS.
Qلماذا أنشئ Long من سلسلة؟
Aالرموز الرقمية فوق ~9×10^15 تفقد الدقة في JS؛ الإنشاء من سلسلة يبقى دقيقًا.