مولد معرفات فريدة لمشاريع MongoDB المختلفة
قم بإنشاء معرفات MongoDB صالحة للاختبار أو التطوير أو الأغراض التعليمية. هذه الأداة تنشئ معرفات فريدة مكونة من 12 بايت تُستخدم في قواعد بيانات MongoDB، وتتكون من طابع زمني، وقيمة عشوائية، وعداد متزايد.
مولد معرف MongoDB
الوثائق
مولد ObjectID لمونغوDB
مقدمة
ObjectID لمونغوDB هو معرف فريد يُستخدم في قواعد بيانات مونغوDB. تتيح لك هذه الأداة توليد ObjectIDs صالحة لمونغوDB لأغراض الاختبار أو التطوير أو التعليم. ObjectIDs هي أنواع BSON مكونة من 12 بايت، تتكون من 4 بايت تمثل الطابع الزمني، و5 بايت عشوائية، و3 بايت عداد متزايد.
كيفية استخدام هذا المولد
- أدخل عدد ObjectIDs التي تريد توليدها (بين 1 و100).
- انقر على زر "توليد" لإنشاء ObjectIDs.
- سيتم عرض ObjectIDs المولدة، جنبًا إلى جنب مع تصور لهياكلها.
- يمكنك نسخ ObjectIDs المولدة إلى الحافظة الخاصة بك باستخدام زر "نسخ النتيجة".
هيكل ObjectID لمونغوDB
يتكون ObjectID لمونغوDB من:
- قيمة 4 بايت تمثل الثواني منذ بداية Unix
- قيمة عشوائية 5 بايت
- عداد متزايد 3 بايت، يتم تهيئته بقيمة عشوائية
يمكن تصور الهيكل كما يلي:
1|---- الطابع الزمني -----|-- عشوائي --|-- عداد -|
2 4 بايت 5 بايت 3 بايت
3
الصيغة
بينما لا توجد صيغة رياضية لتوليد ObjectIDs، يمكن وصف العملية بشكل خوارزمي:
- احصل على الطابع الزمني الحالي (الثواني منذ بداية Unix)
- توليد قيمة عشوائية 5 بايت
- تهيئة عداد 3 بايت بقيمة عشوائية
- دمج هذه المكونات لتشكيل ObjectID مكون من 12 بايت
عملية التوليد
يتبع مولد ObjectID هذه الخطوات:
- تحويل الطابع الزمني الحالي إلى قيمة سداسية عشرية مكونة من 4 بايت
- توليد 5 بايت عشوائية وتحويلها إلى سداسية عشرية
- توليد عداد عشوائي مكون من 3 بايت وتحويله إلى سداسية عشرية
- دمج هذه المكونات الثلاثة لتشكيل سلسلة سداسية عشرية مكونة من 24 حرفًا
حالات الاستخدام
لـ ObjectIDs لمونغوDB عدة حالات استخدام مهمة:
-
معرفات المستندات الفريدة: تعد ObjectIDs بمثابة الحقل الافتراضي
_id
في مستندات مونغوDB، مما يضمن أن كل مستند له معرف فريد. -
معلومات الطابع الزمني: تحتوي أول 4 بايت من ObjectID على طابع زمني، مما يسمح باستخراج وقت الإنشاء بسهولة دون الحاجة إلى حقل منفصل.
-
الفرز: يمكن فرز ObjectIDs بشكل زمني، وهو مفيد لاسترجاع المستندات بترتيب الإدراج.
-
التجزئة: في مجموعة مونغوDB المجزأة، يمكن استخدام ObjectIDs كمفاتيح تجزئة، على الرغم من أن هذا ليس دائمًا الخيار الأفضل لكل حالة استخدام.
-
التصحيح والتسجيل: يمكن أن تكون مكون الطابع الزمني لـ ObjectIDs مفيدة في التصحيح وتحليل السجلات.
البدائل
بينما تعد ObjectIDs المعرف الافتراضي في مونغوDB، هناك بدائل:
- المعرفات الطبيعية: استخدام معرف فريد طبيعي من بياناتك (مثل عنوان البريد الإلكتروني، ISBN)
- أرقام متزايدة تلقائيًا: مشابهة لمفاتيح أولية متزايدة تلقائيًا في قواعد البيانات التقليدية
- UUIDs: معرفات فريدة عالمية، وهي معرفات مكونة من 128 بت
- خطط توليد مخصصة: إنشاء منطق توليد معرف خاص لتلبية احتياجات معينة
التاريخ
تم تقديم 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 المولدة فريدة وتتبع الهيكل الموضح سابقًا.
المراجع
- "ObjectId." دليل مونغوDB، https://docs.mongodb.com/manual/reference/method/ObjectId/. تم الوصول إليه في 2 أغسطس 2024.
- "أنواع BSON." مواصفة BSON، http://bsonspec.org/spec.html. تم الوصول إليه في 2 أغسطس 2024.
- "ObjectID لمونغوDB." ويكيبيديا، مؤسسة ويكيميديا، https://en.wikipedia.org/wiki/ObjectId. تم الوصول إليه في 2 أغسطس 2024.
الملاحظات
انقر على إشعار الملاحظات لبدء إعطاء ملاحظات حول هذه الأداة
أدوات ذات صلة
اكتشف المزيد من الأدوات التي قد تكون مفيدة لعملك