$trunc (الاقتطاع)
آخر تحديث: 2026-10-09
$trunc (الاقتطاع)
يقتطع $trunc الجزء الكسري من عدد نحو الصفر، مع إمكانية الاحتفاظ بعدد محدد من الخانات العشرية. يأخذ القيمة ووسيطة مكان اختيارية بنفس قواعد $round. يُستخدم لحذف الكسور أو تجهيز قيم العرض أو ترقيم الصفحات. على خلاف $round لا يقرّب للأعلى أبدًا: 2.9 تصبح 2 و -2.9 تصبح -2. مع الأعداد الموجبة يطابق $trunc سلوك $floor، لكنهما يختلفان مع السالبة: -1.2 تصبح -1 مع $trunc و -2 مع $floor.
| الفئة | الرياضيات |
|---|---|
| إصدار MongoDB | 1.0+ |
| لغة المثال | mongosh (الطرفية) |
📝 الصيغة
{ $trunc: [ <value>, <place> ] }
⚙️ المعلمات
| قيمة رقمية | قيمة رقمية أو تعبير يُحلّ إلى قيمة رقمية. |
|---|---|
| موضع | عدد المنازل العشرية اختياري؛ 0 أو الإغفال يقرّب إلى عدد صحيح، والقيم السالبة تقرّب إلى العشرات أو أعلى. |
القيمة المرجعة:القيمة المقتطعة؛ null عندما يكون null أو مفقودًا
▶ مثال
نفّذ الأوامر التالية في mongosh المحلي لديك (يتطلب تشغيل mongod):
// $trunc: حذف الجزء الكسري من المبالغ
db.orders.aggregate([
{ $project: {
whole: { $trunc: '$price' }
} }
])
المخرجات:
{ '_id': 1, 'whole': 19 }
{ '_id': 2, 'whole': 12 }
📌 ملاحظات
- يقتطع دائمًا نحو الصفر دون تقريب
- يختلف عن $floor مع الأعداد السالبة: $trunc(-1.2) يساوي -1
- وسيطة المكان تقبل القيم السالبة للتقريب إلى العشرات أو المئات
🏷️ وسوم ذات صلة
💡 حالات ذات صلة
مزيد من الحالات العملية قريبًا.
📚 دروس ذات صلة
❓ الأسئلة الشائعة
Qكيف يختلف $trunc عن $floor مع الأعداد السالبة؟
A$trunc يقتطع نحو الصفر (-1.2 يصبح -1) بينما يتجه $floor نحو اللانهاية السالبة (-1.2 يصبح -2).
Qكيف يختلف $trunc عن $round؟
A$trunc يحذف الكسر ببساطة بينما يقرّب $round عند حد .5.
Qهل يمكن لـ $trunc الاحتفاظ بالخانات العشرية؟
Aنعم، الوسيطة الثانية تحدد الخانات، لذا $trunc: [19.999, 2] يعطي 19.99.