$isoWeek (رقم أسبوع ISO)

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

$isoWeek (رقم أسبوع ISO)

يُرجع $isoWeek رقم أسبوع ISO 8601 لتاريخ ما (1 إلى 53). تبدأ أسابيع ISO يوم الاثنين، والأسبوع 1 هو الأسبوع الذي يحتوي أول خميس في السنة — على عكس $week ذي النمط الأمريكي (يبدأ الأحد وقد يُرجع 0). ممتاز للإحصاءات الدولية حسب الأسابيع؛ وعادةً يُقرن بـ $isoWeekYear لتكوين مفتاح سنة-أسبوع. تحدد timezone حدود الأسبوع.

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

📝 الصيغة

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

⚙️ المعلمات

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

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

▶ مثال

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

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

المخرجات:

{ "_id": 39, "total": 9800 }
{ "_id": 40, "total": 10450 }

📌 ملاحظات

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

📚 دروس ذات صلة

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

Qما نطاق القيمة المرجعة؟
Aمن 1 إلى 53 — لا 0 أبدًا.
Qما الفرق عن $week؟
A$week يبدأ من الأحد وقد يُرجع 0؛ و $isoWeek يتبع ISO 8601 بدءًا من الاثنين.
Qكيف تُعد الأسابيع الممتدة عبر السنوات؟
Aيخصّصها ISO للسنة التي تحتوي الخميس؛ استخدم $isoWeekYear للسنة الصحيحة.
Web-Tutorial.com

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

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

100%