$week (الحصول على رقم الأسبوع)

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

$week (الحصول على رقم الأسبوع)

يُرجع $week رقم الأسبوع لتاريخ ما بالنمط الأمريكي (0 إلى 53): تبدأ الأسابيع يوم الأحد، ويبدأ الأسبوع 1 بأول أحد في السنة، وتقع التواريخ الأسبق في الأسبوع 0. يختلف عن $isoWeek ذي المعيار الدولي؛ فضّل $isoWeek للإحصاءات الدولية. يُرجع عددًا صحيحًا؛ تحدد timezone حدود الأسبوع وتُعرّف افتراضيًا على UTC.

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

📝 الصيغة

{ $week: { date: <date-expression>, timezone: <timezone> } }

⚙️ المعلمات

dateمطلوب؛ تعبير التاريخ.
timezoneالمنطقة الزمنية اختيارية؛ الافتراضي هو UTC.

القيمة المرجعة:رقم الأسبوع (0-53)؛ null إذا كان date يساوي null.

▶ مثال

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

// $week: تجميع المبيعات حسب الأسبوع بالنمط الأمريكي
db.sales.aggregate([
  { $group: {
      _id: { $week: { date: '$soldAt', timezone: 'Asia/Shanghai' } },
      total: { $sum: '$amount' }
  } }
])

المخرجات:

{ "_id": 38, "total": 8300 }
{ "_id": 39, "total": 9800 }

📌 ملاحظات

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

📚 دروس ذات صلة

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

Qلماذا يظهر 0؟
Aالتواريخ بين 1 يناير وأول أحد تقع في الأسبوع 0.
Qأيهما أنسب للأعمال الدولية، $week أم $isoWeek؟
Aاستخدم $isoWeek للأعمال الدولية؛ و $week هو اصطلاح أمريكي.
Qما الحد الأقصى؟
Aمن 0 إلى 53، على عكس نطاق $isoWeek من 1 إلى 53.
Web-Tutorial.com

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

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

100%