$dayOfMonth (الحصول على يوم الشهر)
آخر تحديث: 2026-10-09
$dayOfMonth (الحصول على يوم الشهر)
يُرجع $dayOfMonth يوم الشهر لتاريخ ما (1 إلى 31) — تعبير شائع لإحصاءات مستوى اليوم. يقبل تعبير تاريخ بسيطًا أو كائنًا بمنطقة زمنية صريحة. الاستخدامات النموذجية: تجميع الطلبات حسب اليوم، بناء تسميات الأيام، أو اكتشاف بدايات الشهر. يُرجع عددًا صحيحًا؛ وقد يختلف اليوم بين المناطق، لذا اضبط timezone دائمًا (الافتراضي UTC).
| الفئة | التاريخ |
|---|---|
| إصدار MongoDB | 1.0+ |
| لغة المثال | mongosh (الطرفية) |
📝 الصيغة
{ $dayOfMonth: { date: <date-expression>, timezone: <timezone> } }
⚙️ المعلمات
| date | مطلوب؛ تعبير التاريخ. |
|---|---|
| timezone | المنطقة الزمنية اختيارية؛ الافتراضي هو UTC. |
القيمة المرجعة:يوم الشهر (1-31) كعدد صحيح؛ null إذا كان date يساوي null.
▶ مثال
نفّذ الأوامر التالية في mongosh المحلي لديك (يتطلب تشغيل mongod):
// $dayOfMonth: الحصول على يوم الطلب (توقيت بكين)
db.orders.aggregate([
{ $project: {
day: { $dayOfMonth: { date: '$orderDate', timezone: 'Asia/Shanghai' } }
} }
])
المخرجات:
{ "_id": 1, "day": 25 }
{ "_id": 2, "day": 1 }
📌 ملاحظات
- عدد صحيح من 1 إلى 31 دون حشو أصفار؛ استخدم %d من $dateToString لرقمين
- على عكس $dayOfWeek و $dayOfYear، هذا هو اليوم ضمن الشهر
- التاريخ الفارغ أو المفقود يُرجع null
🏷️ وسوم ذات صلة
💡 حالات ذات صلة
مزيد من الحالات العملية قريبًا.
📚 دروس ذات صلة
❓ الأسئلة الشائعة
Qما الفرق بين $dayOfMonth و %d؟
A%d يُخرج سلسلة من رقمين (05)؛ بينما $dayOfMonth يُخرج عددًا صحيحًا (5).
Qهل يبدأ من 0 أم 1؟
Aيبدأ من 1 — أول يوم في الشهر هو 1.
Qهل تؤثر timezone في النتيجة؟
Aنعم — قد تعطي UTC والمناطق المحلية أيامًا مختلفة؛ اضبط timezone صراحةً.