Date (التاريخ والوقت)
آخر تحديث: 2026-10-09
Date (التاريخ والوقت)
Date هو نوع التاريخ والوقت في MongoDB، يُخزَّن داخليًا كعدد مللي ثانية من 64 بتًا منذ بداية حقبة يونكس. يُنشأ من سلاسل ISO (new Date("2026-09-25")) أو من طوابع زمنية بالمللي ثانية. تُفلتر التواريخ بالنطاقات في الاستعلامات بـ $gt/$lt وما يشابهها.
| الفئة | أنواع BSON |
|---|---|
| إصدار MongoDB | 1.0+ |
| لغة المثال | mongosh (الطرفية) |
📝 الصيغة
new Date("<ISO string>")
new Date(<ms timestamp>)
ISODate("<ISO string>")
▶ مثال
نفّذ الأوامر التالية في mongosh المحلي لديك (يتطلب تشغيل mongod):
// Date: طلبات أُنشئت اليوم أو لاحقًا
db.orders.find({
createdAt: { $gte: new Date("2026-09-25T00:00:00Z") }
})
المخرجات:
// يُرجع المستندات التي يكون createdAt >= 2026-09-25 00:00 UTC
📌 ملاحظات
- يُخزَّن كمللي ثانية UTC؛ يُعرض في منطقة زمنية العميل
- Date مقابل سلسلة: "2026-09-25" سلسلة؛ new Date("2026-09-25") نوع Date
- استعلامات النطاق تستخدم $gte/$lt (فترات نصف مفتوحة)
- نسّق المخرجات بـ $dateToString في التجميع
🏷️ وسوم ذات صلة
💡 حالات ذات صلة
حذف المستندات والبدء في استخدام Node.js
الوثائق وBSON: حجر الأساس لبيانات MongoDB
إدراج المستندات: شرح مفصل لوظيفتي `insertOne` و`insertMany`
نماذج مونغوس وتصميم المخطط
📚 دروس ذات صلة
❓ الأسئلة الشائعة
Qما الفرق بين Date و Timestamp؟
Aيخزّن Date نقطة زمنية بالمللي ثانية؛ بينما Timestamp مخصص لسجل العمليات الداخلي (مع عدّاد زيادة) ونادرًا ما يستخدمه التطبيق.
Qكيف أخزّن طابعًا زمنيًا بالمللي ثانية؟
Aخزّن new Date(ms) كنوع Date — ولا تحفظ الرقم الخام في حقل رقمي.
Qهل يمكنني الاستعلام عن التواريخ بسلاسل؟
Aتجنبه — السلاسل وأنواع Date أنواع مختلفة؛ مقارنات $gt/$lt تفشل بصمت. خزّن أنواع Date ثم استعلم عنها.