MongoDB ObjectId محول الطابع الزمني ↔ ObjectId
هل تعلم أن كل ObjectId في MongoDB يحتوي على طابع زمني مضمن لوقت إنشائه؟
من خلال شل مونجو، يمكنك استخدام getTimestamp() لاسترداد الطابع الزمني من ObjectId، ولكن لا توجد وظيفة مدمجة لإنشاء ObjectId من الطابع الزمني.
سيقوم هذا المحول عبر الإنترنت بتحويل الطابع الزمني إلى ObjectId والعكس.
ObjectId
(ملاحظة: غير فريد، يستخدم فقط للمقارنات، وليس لإنشاء مستندات جديدة!)
ObjectId للصق في شل مونجو
Time (UTC)
السنة (4 أرقام)
الشهر (1 - 12)
اليوم (1 - 31)
الساعة (0 - 23)
الدقيقة (0 - 59)
الثانية (0 - 59)
الطابع الزمني ISO
لماذا ننشئ ObjectId من الطابع الزمني؟
للعثور على جميع التعليقات التي تم إنشاؤها بعد 2013-11-01:
db.comments.find({_id: {$gt: ObjectId("5272e0f00000000000000000")}})
Javascript functions
var objectIdFromDate = function (date) { return Math.floor(date.getTime() / 1000).toString(16) + "0000000000000000"; }; var dateFromObjectId = function (objectId) { return new Date(parseInt(objectId.substring(0, 8), 16) * 1000); };