برای تست، توسعه یا اهداف آموزشی، ObjectID های معتبر MongoDB را تولید کنید. این ابزار شناسههای منحصر به فرد 12 بایتی را که در پایگاه دادههای MongoDB استفاده میشود ایجاد میکند که از یک زمانسنج، مقدار تصادفی و شمارنده افزایشی تشکیل شده است.
ObjectID MongoDB یک شناسه منحصر به فرد است که در پایگاههای داده MongoDB استفاده میشود. این ابزار به شما امکان میدهد تا ObjectIDهای معتبر MongoDB را برای آزمایش، توسعه یا اهداف آموزشی تولید کنید. ObjectIDها انواع BSON 12 بایتی هستند که از یک زمانسنج 4 بایتی، یک مقدار تصادفی 5 بایتی و یک شمارنده افزایشی 3 بایتی تشکیل شدهاند.
یک ObjectID MongoDB شامل موارد زیر است:
ساختار میتواند به صورت زیر بصریسازی شود:
1|---- زمانسنج -----|-- تصادفی --|-- شمارنده -|
2 4 بایت 5 بایت 3 بایت
3
در حالی که فرمول ریاضی برای تولید ObjectIDها وجود ندارد، فرآیند میتواند به صورت الگوریتمی توصیف شود:
تولید کننده ObjectID مراحل زیر را دنبال میکند:
ObjectIDهای MongoDB چندین مورد استفاده مهم دارند:
شناسههای منحصر به فرد اسناد: ObjectIDها به عنوان فیلد پیشفرض _id
در اسناد MongoDB عمل میکنند و اطمینان میدهند که هر سند یک شناسه منحصر به فرد دارد.
اطلاعات زمانسنج: 4 بایت اول یک ObjectID حاوی زمانسنج است که اجازه میدهد زمان ایجاد به راحتی استخراج شود بدون نیاز به یک فیلد جداگانه.
مرتبسازی: ObjectIDها میتوانند به صورت زمانی مرتب شوند که برای بازیابی اسناد به ترتیب درج مفید است.
شاردینگ: در یک خوشه شارد شده MongoDB، ObjectIDها میتوانند به عنوان کلیدهای شارد استفاده شوند، اگرچه این همیشه بهترین انتخاب برای هر مورد استفاده نیست.
اشکالزدایی و ثبت: جزء زمانسنج ObjectIDها میتواند در اشکالزدایی و تحلیل لاگ مفید باشد.
در حالی که ObjectIDها شناسه پیشفرض در MongoDB هستند، گزینههای دیگری نیز وجود دارند:
ObjectIDها با انتشار اولیه MongoDB در سال 2009 معرفی شدند. آنها برای ارائه یک شناسه منحصر به فرد طراحی شدهاند که میتواند به سرعت و به طور مستقل توسط سرورهای مختلف تولید شود و آنها را برای سیستمهای توزیع شده ایدهآل میسازد.
ساختار ObjectIDها در طول تاریخ MongoDB ثابت مانده است، اگرچه پیادهسازی خاص نحوه تولید آنها در طول زمان بهینهسازی شده است.
در اینجا کدهایی برای تولید ObjectIDهای MongoDB در زبانهای برنامهنویسی مختلف آورده شده است:
1import bson
2
3## تولید یک ObjectID واحد
4object_id = bson.ObjectId()
5print(object_id)
6
7## تولید چندین ObjectID
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// تولید چندین ObjectID
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 // تولید چندین ObjectID
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## تولید چندین ObjectID
8object_ids = 5.times.map { BSON::ObjectId.new.to_s }
9puts object_ids
10
این مثالها نشان میدهند که چگونه میتوان از درایورهای رسمی MongoDB یا کتابخانههای BSON در زبانهای برنامهنویسی مختلف برای تولید ObjectIDها استفاده کرد. ObjectIDهای تولید شده منحصر به فرد خواهند بود و از ساختار توصیف شده در بالا پیروی خواهند کرد.
کشف ابزارهای بیشتری که ممکن است برای جریان کاری شما مفید باشند