$isoWeekYear (سنة أسبوع ISO)

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

$isoWeekYear (سنة أسبوع ISO)

يُرجع $isoWeekYear السنة التي ينتمي إليها أسبوع ISO لتاريخ ما، ويُستخدم مع $isoWeek. لأن أسابيع ISO قد تمتد عبر السنوات (قد يقع 31 ديسمبر في الأسبوع 1 من السنة التالية)، فقد تختلف سنة الأسبوع عن السنة التقويمية — و $isoWeekYear وحده يعطي الملكية الصحيحة. الاستخدام النموذجي: بناء مفتاح تجميع سنة-أسبوع. تحدد timezone حدود الأسبوع.

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

📝 الصيغة

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

⚙️ المعلمات

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

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

▶ مثال

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

// $isoWeekYear + $isoWeek: تجميع سنة-أسبوع
db.sales.aggregate([
  { $group: {
      _id: { y: { $isoWeekYear: { date: '$soldAt' } }, w: { $isoWeek: { date: '$soldAt' } } },
      total: { $sum: '$amount' }
  } }
])

المخرجات:

{ "_id": { "y": 2026, "w": 39 }, "total": 9800 }
{ "_id": { "y": 2026, "w": 40 }, "total": 10450 }

📌 ملاحظات

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

📚 دروس ذات صلة

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

Qما الفرق عن $year؟
A$year هو السنة التقويمية؛ و $isoWeekYear هو سنة ISO للأسبوع — وقد يختلفان في الأسابيع الممتدة.
Qمتى أحتاج إليه؟
Aلتجميع سنة-أسبوع، ادمج $isoWeekYear مع $isoWeek كمفتاح.
Qهل هو مفيد وحده؟
Aليس فعلًا — يعبّر عن ملكية الأسبوع فقط مع $isoWeek.
Web-Tutorial.com

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

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

100%