Double (رقم فاصلة عائمة مزدوجة الدقة)
آخر تحديث: 2026-10-09
Double (رقم فاصلة عائمة مزدوجة الدقة)
Double هو النوع الرقمي الافتراضي في MongoDB: رقم فاصلة عائمة IEEE 754 من 64 بتًا، نحو ±1.8×10^308. الأرقام المجردة في mongosh (مثل 3.14) من نوع Double افتراضيًا. استخدمه للقياسات والنسب والإحداثيات؛ واختر Decimal128 للمال الذي يجب أن يكون دقيقًا.
| الفئة | أنواع BSON |
|---|---|
| إصدار MongoDB | 1.0+ |
| لغة المثال | mongosh (الطرفية) |
📝 الصيغة
{ price: 3.14 } // القيمة الحرفية المجردة تُعد من نوع Double
NumberDouble(3.14) // إنشاء صريح
{ price: { $lt: 10.5 } }
القيمة المرجعة:يُرجع عددًا عشريًا BSON من نوع Double
▶ مثال
نفّذ الأوامر التالية في mongosh المحلي لديك (يتطلب تشغيل mongod):
// Double: المقارنة والتجميع
use shop
db.products.find({ price: { $gte: 9.99 } })
db.products.aggregate([{ $group: { _id: null, avg: { $avg: '$price' } } }])
المخرجات:
// المنتجات بسعر أكبر من أو يساوي 9.99، إضافة إلى متوسط السعر
📌 ملاحظات
- 0.1+0.2 != 0.3 في Double؛ استخدم Decimal128 للمال
- العدد الصحيح المجرد 42 أيضًا من نوع Double في mongosh
- $eq لن يطابق Double مع Int32؛ حوّل بـ $convert
🏷️ وسوم ذات صلة
💡 حالات ذات صلة
📚 دروس ذات صلة
❓ الأسئلة الشائعة
QDouble أم Decimal128؟
ADouble للحسابات التقريبية (القياسات والإحداثيات)؛ وDecimal128 للمال العشري الدقيق.
Qما نوع 42 في mongosh؟
ADouble. استخدم Int32(42) أو Long(42) عندما تحتاج عددًا صحيحًا.
Qكم رقمًا معنويًا يحمل Double؟
Aنحو 15-17 رقمًا عشريًا معنويًا؛ أبعد من ذلك يُقرَّب ثنائيًا.