قم بإنشاء معرفات MongoDB صالحة للاختبار أو التطوير أو الأغراض التعليمية. هذه الأداة تنشئ معرفات فريدة مكونة من 12 بايت تُستخدم في قواعد بيانات MongoDB، وتتكون من طابع زمني، وقيمة عشوائية، وعداد متزايد.
ObjectID لمونغوDB هو معرف فريد يُستخدم في قواعد بيانات مونغوDB. تتيح لك هذه الأداة توليد ObjectIDs صالحة لمونغوDB لأغراض الاختبار أو التطوير أو التعليم. ObjectIDs هي أنواع BSON مكونة من 12 بايت، تتكون من 4 بايت تمثل الطابع الزمني، و5 بايت عشوائية، و3 بايت عداد متزايد.
يتكون ObjectID لمونغوDB من:
يمكن تصور الهيكل كما يلي:
1|---- الطابع الزمني -----|-- عشوائي --|-- عداد -|
2 4 بايت 5 بايت 3 بايت
3
بينما لا توجد صيغة رياضية لتوليد ObjectIDs، يمكن وصف العملية بشكل خوارزمي:
يتبع مولد ObjectID هذه الخطوات:
لـ ObjectIDs لمونغوDB عدة حالات استخدام مهمة:
معرفات المستندات الفريدة: تعد ObjectIDs بمثابة الحقل الافتراضي _id
في مستندات مونغوDB، مما يضمن أن كل مستند له معرف فريد.
معلومات الطابع الزمني: تحتوي أول 4 بايت من ObjectID على طابع زمني، مما يسمح باستخراج وقت الإنشاء بسهولة دون الحاجة إلى حقل منفصل.
الفرز: يمكن فرز ObjectIDs بشكل زمني، وهو مفيد لاسترجاع المستندات بترتيب الإدراج.
التجزئة: في مجموعة مونغوDB المجزأة، يمكن استخدام ObjectIDs كمفاتيح تجزئة، على الرغم من أن هذا ليس دائمًا الخيار الأفضل لكل حالة استخدام.
التصحيح والتسجيل: يمكن أن تكون مكون الطابع الزمني لـ ObjectIDs مفيدة في التصحيح وتحليل السجلات.
بينما تعد ObjectIDs المعرف الافتراضي في مونغوDB، هناك بدائل:
تم تقديم ObjectIDs مع الإصدار الأول لمونغوDB في عام 2009. تم تصميمها لتوفير معرف فريد يمكن توليده بسرعة وبشكل مستقل بواسطة خوادم مختلفة، مما يجعلها مثالية للأنظمة الموزعة.
لقد ظل هيكل ObjectIDs ثابتًا طوال تاريخ مونغوDB، على الرغم من أن التنفيذ المحدد لكيفية توليدها قد تم تحسينه مع مرور الوقت.
إليك مقتطفات من التعليمات البرمجية توضح كيفية توليد ObjectIDs لمونغوDB في لغات برمجة مختلفة:
1import bson
2
3## توليد ObjectID واحد
4object_id = bson.ObjectId()
5print(object_id)
6
7## توليد عدة ObjectIDs
8object_ids = [bson.ObjectId() for _ in range(5)]
9print(object_ids)
10
1const { ObjectId } = require('mongodb');
2
3// توليد ObjectID واحد
4const objectId = new ObjectId();
5console.log(objectId.toString());
6
7// توليد عدة ObjectIDs
8const objectIds = Array.from({ length: 5 }, () => new ObjectId().toString());
9console.log(objectIds);
10
1import org.bson.types.ObjectId;
2
3public class ObjectIdExample {
4 public static void main(String[] args) {
5 // توليد ObjectID واحد
6 ObjectId objectId = new ObjectId();
7 System.out.println(objectId.toString());
8
9 // توليد عدة ObjectIDs
10 for (int i = 0; i < 5; i++) {
11 System.out.println(new ObjectId().toString());
12 }
13 }
14}
15
1require 'bson'
2
3## توليد ObjectID واحد
4object_id = BSON::ObjectId.new
5puts object_id.to_s
6
7## توليد عدة ObjectIDs
8object_ids = 5.times.map { BSON::ObjectId.new.to_s }
9puts object_ids
10
توضح هذه الأمثلة كيفية توليد ObjectIDs باستخدام برامج التشغيل الرسمية لمونغوDB أو مكتبات BSON في لغات برمجة مختلفة. ستكون ObjectIDs المولدة فريدة وتتبع الهيكل الموضح سابقًا.
اكتشف المزيد من الأدوات التي قد تكون مفيدة لسير عملك