$mod (باقي القسمة)

آخر تحديث: 2026-10-09

$mod (باقي القسمة)

يُرجع $mod باقي قسمة قيمتين في تعبيرات التجميع. يأخذ وسيطتين — المقسوم والمقسوم عليه — ويُرجع الباقي بعد القسمة الصحيحة. وهو مفيد لترقيم الصفحات وكشف الدورات وفحوصات التكافؤ، مثل الحكم على رقم الطلب بأنه فردي أو زوجي باستخدام المودولو 2، أو التقسيم حسب الطابع الزمني باستخدام المودولو. المقسوم عليه صفر يُرجع null بدلًا من رمي خطأ. تتبع إشارة النتيجة المقسوم. يعمل $mod مع الأعداد الصحيحة و Decimal؛ كن حذرًا مع القيم ذات الفاصلة العائمة، وحوّلها إلى Decimal عند الحاجة.

الفئةالرياضيات
إصدار MongoDB1.0+
لغة المثالmongosh (الطرفية)

📝 الصيغة

{ $mod: [ <expression1>, <expression2> ] }

⚙️ المعلمات

المقسومقيمة رقمية أو تعبير يُحلّ إلى قيمة رقمية.
المقسوم عليهتعبير المقسوم عليه؛ المقسوم عليه صفر يجعل النتيجة null.

القيمة المرجعة:الباقي بعد القسمة؛ null عندما يكون المقسوم عليه صفرًا

▶ مثال

نفّذ الأوامر التالية في mongosh المحلي لديك (يتطلب تشغيل mongod):

// $mod: التحقق مما إذا كان رقم الطلب فرديًا
db.orders.aggregate([
  { $project: {
      isOdd: { $eq: [{ $mod: ['$orderNo', 2] }, 1] }
  } }
])

المخرجات:

{ '_id': 1, 'isOdd': true }
{ '_id': 2, 'isOdd': false }

📌 ملاحظات

مزيد من الحالات العملية قريبًا.

📚 دروس ذات صلة

❓ الأسئلة الشائعة

Qماذا يحدث عندما يقسم $mod على صفر؟
Aيُرجع null دون رمي خطأ؛ استخدم $ifNull لقيمة افتراضية.
Qكيف تُحدد إشارة نتيجة $mod؟
Aالباقي يتبع المقسوم، لذا -7 مودولو 3 يساوي -1.
Qهل يمكن لـ $mod العمل مع الأرقام ذات الفاصلة العائمة؟
Aتعمل قيمة Decimal، لكن double العادية قد تكون غير دقيقة؛ حوّل إلى Decimal قبل أخذ المودولو.
Web-Tutorial.com

فريق Web-Tutorial التقني

منصة دروس برمجية يديرها عدة مطورين. كل درس يتم كتابته ومراجعته بواسطة مطورين متخصصين في المجال. نعمل على ضمان دقة وموثوقية المحتوى — إذا لاحظت أي مشكلة، فيرجى إخبارنا.

100%