$toDate (التحويل إلى تاريخ)

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

$toDate (التحويل إلى تاريخ)

يحوّل $toDate قيمة إلى تاريخ BSON. يمرر التواريخ كما هي، ويعامل الأرقام كطوابع ميلي ثانية، ويحلل سلاسل ISO 8601. الاستخدامات النموذجية: تحويل سلاسل أوقات السجلات إلى تواريخ لتجميع مستوى اليوم أو توحيد طوابع الميلي ثانية القادمة من الواجهات الأمامية. السلاسل غير الصالحة تُسبب خطأً، لذا فضّل $convert مع onError للبيانات الملوّثة. المدخل الفارغ يُرجع null. مقارنةً بـ $dateFromString، صياغة $toDate أبسط وتكتشف تلقائيًا تنسيقات ISO.

الفئةالمجموعة والشرط والتحويل
إصدار MongoDB1.0+
لغة المثالmongosh (الطرفية)

📝 الصيغة

{ $toDate: <expression> }

⚙️ المعلمات

تعبيرتاريخ، أو طابع زمني رقمي بالمللي ثانية، أو نص ISO.

القيمة المرجعة:‏Date؛ null عندما يكون الإدخال null

▶ مثال

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

// $toDate: تحليل سلسلة وقت إلى تاريخ
db.logs.aggregate([
  { $project: {
      ts: { $toDate: '$timeStr' }
  } }
])

المخرجات:

{ '_id': 1, 'ts': { '$date': '2026-09-25T08:00:00Z' } }

📌 ملاحظات

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

📚 دروس ذات صلة

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

Qأي السلاسل يمكنه تحليلها؟
Aتنسيقات ISO 8601، مثل '2026-09-25T08:00:00Z'.
Qماذا عن طوابع مستوى الثواني؟
Aاضرب في 1000 أولًا: { $multiply: ['$ts', 1000] }، ثم حوّل.
Qكيف يختلف عن $dateFromString؟
A$toDate يكتشف تلقائيًا تنسيقات ISO؛ و $dateFromString يخصّص التنسيق والمنطقة.
Web-Tutorial.com

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

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

100%