$dateToString (تنسيق التاريخ)

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

$dateToString (تنسيق التاريخ)

يُنسّق $dateToString تاريخًا إلى سلسلة نصية باستخدام نمط تنسيق — وهي الطريقة القياسية لإخراج التواريخ في خطوط أنابيب التجميع. يستخدم النمط عناصر نائبة مثل %Y (السنة) و %m (الشهر) و %d (اليوم) و %H (الساعة)، على غرار دالة strftime. عندما يكون التاريخ فارغًا أو مفقودًا يُرجع null ما لم يوفّر onNull قيمة افتراضية.

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

📝 الصيغة

{ $dateToString: { format: <format>, date: <date-expression>, timezone: <timezone>, onNull: <default> } }

▶ مثال

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

// $dateToString: تنسيق تواريخ الطلبات
db.orders.aggregate([
  { $project: {
      dateStr: { $dateToString: { format: "%Y-%m-%d", date: "$createdAt" } }
  } }
])

المخرجات:

{ "_id": 1, "dateStr": "2026-09-25" }
{ "_id": 2, "dateStr": "2026-09-24" }

📌 ملاحظات

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

📚 دروس ذات صلة

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

Qكيف أحدد المنطقة الزمنية؟
Aاستخدم أسماء IANA (مثل 'Asia/Shanghai') أو إزاحات UTC (مثل '+08:00'). الافتراضي هو UTC.
Qما محددات التنسيق التي يدعمها $dateToString؟
Aمنها الشائعة: %Y (السنة)، %m (الشهر)، %d (اليوم)، %H (الساعة)، %M (الدقيقة)، %S (الثانية)، %L (الميلي ثانية)، %z (إزاحة UTC) و %j (يوم السنة). راجع الوثائق الرسمية للقائمة الكاملة.
Qماذا يحدث إذا لم يكن حقل التاريخ من نوع Date؟
Aيتوقع قيمة Date؛ وإلا يُرجع null أو خطأً (حسب الوضع الصارم). حوّل باستخدام $toDate أولًا إذا لزم الأمر.
Qهل يمكنه إخراج صيغة ISO 8601؟
Aنعم. اجمع %Y-%m-%dT%H:%M:%S.%LZ لإنتاج قيمة مثل 2026-10-01T08:30:00.000Z؛ أو استخدم تعبير $isoDate.
Web-Tutorial.com

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

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

100%