ObjectId (معرّف الكائن)

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

ObjectId (معرّف الكائن)

ObjectId هو نوع _id الافتراضي في MongoDB — معرّف فريد من 12 بايت: طابع زمني من 4 بايتات + عشوائية من 5 بايتات + عدّاد من 3 بايتات. يُولَّد تلقائيًا عند إدراج مستند دون _id، وهو فريد عبر الأنظمة الموزعة، ويضمّن وقت الإنشاء (قابلًا للاستخراج).

الفئةأنواع BSON
إصدار MongoDB1.0+
لغة المثالmongosh (الطرفية)

📝 الصيغة

// توليد تلقائي
{ _id: ObjectId("64c8a1b2f3d4e5a6b7c8d9e0") }
// الحصول على الطابع الزمني
ObjectId("...").getTimestamp()

القيمة المرجعة:يُرجع كائن ObjectId؛ ويُعرض كنص مكوَّن من 24 حرفًا سادس عشريًا

▶ مثال

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

// ObjectId: فحص بعد الإدراج
const oid = ObjectId()
print(oid.getTimestamp())  // وقت الإنشاء

المخرجات:

2026-09-25T08:30:00Z

📌 ملاحظات

📚 دروس ذات صلة

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

Qهل يمكنني استخدام عدد صحيح متزايد تلقائيًا لحقل _id؟
Aنعم — حدد _id يدويًا عند الإدراج. لكن الأعداد الصحيحة المتزايدة تحتاج تنسيقًا تحت الكتابات الموزعة؛ وقد وُجد ObjectId تحديدًا لتجنب ذلك.
Qما صيغة سلسلة ObjectId؟
A24 حرفًا سداسيًا عشريًا، مثل 64c8a1b2f3d4e5a6b7c8d9e0 — بايت واحد لكل زوج.
Qهل يمكن ترتيب معرّفات الكائن حسب الوقت؟
Aتقريبًا — أول 4 بايتات طابع زمني، لذا الترتيب بـ _id يقارب ترتيب الإدراج وليس الوقت الدقيق.
Web-Tutorial.com

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

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

100%