$range (توليد تسلسل أرقام)

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

$range (توليد تسلسل أرقام)

ينتج $range تسلسلًا من الأعداد الصحيحة من قيمة بداية حتى (دون شمول) قيمة نهاية، بخطوة اختيارية. الاستخدامات النموذجية: بناء تسلسلات تواريخ بـ $dateAdd، توليد أرقام صفحات لترقيم الصفحات، أو صناعة بيانات اختبار بكميات كبيرة. الخطوة الافتراضية 1 وقد تكون سالبة للتسلسلات التنازلية؛ والخطوة 0 تُسبب خطأً. تحوي مصفوفة النتيجة أعدادًا صحيحة وتُغذّى غالبًا إلى $map لتوليد حقول بالجملة.

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

📝 الصيغة

{ $range: [ <start>, <end>, <step> ] }

⚙️ المعلمات

البدايةالعدد الصحيح الأول للتسلسل، بشكل شامل.
النهايةالعدد الصحيح الأخير للتسلسل، بشكل غير شامل.
الخطوةالفرق الاختياري بين القيم المتجاورة، الافتراضي 1؛ ويجب ألا يكون 0.

القيمة المرجعة:مصفوفة من الأعداد الصحيحة من start حتى (باستثناء) end

▶ مثال

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

// $range: توليد الأرقام من 0 إلى 4
db.test.aggregate([
  { $project: {
      nums: { $range: [0, 5] }
  } }
])

المخرجات:

{ '_id': 1, 'nums': [ 0, 1, 2, 3, 4 ] }

📌 ملاحظات

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

📚 دروس ذات صلة

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

Qهل قيمة النهاية مشمولة؟
Aلا — النطاق مغلق من اليسار ومفتوح من اليمين، لذا ينتهي [0, 5] عند 4.
Qهل يمكنني توليد تسلسل تنازلي؟
Aنعم — استخدم خطوة سالبة، مثل { $range: [5, 0, -1] } الذي يُنتج من 5 نزولًا إلى 1.
Qهل يمكن أن تكون الخطوة 0؟
Aلا، الخطوة 0 تُسبب خطأً.
Web-Tutorial.com

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

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

100%