🛠️

Whiz Tools

Build • Create • Innovate

MongoDB ObjectID Generator Tool for Development and Testing

Hasilkan ObjectID MongoDB yang sah untuk ujian, pembangunan, atau tujuan pendidikan. Alat ini mencipta pengenalan unik 12-byte yang digunakan dalam pangkalan data MongoDB, yang terdiri daripada cap waktu, nilai rawak, dan pengira yang meningkat.

Penjana ObjectID MongoDB

ObjectID Structure VisualizationTimestampMachine IDProcess IDCounter
📚

Dokumentasi

1## Penjana ObjectID MongoDB
2
3### Pengenalan
4
5ObjectID MongoDB adalah pengenal unik yang digunakan dalam pangkalan data MongoDB. Alat ini membolehkan anda menjana ObjectID MongoDB yang sah untuk ujian, pembangunan, atau tujuan pendidikan. ObjectID adalah jenis BSON 12-byte, yang terdiri daripada 4-byte timestamp, 5-byte nilai rawak, dan 3-byte pengira yang meningkat.
6
7### Cara Menggunakan Penjana Ini
8
91. Masukkan bilangan ObjectID yang anda ingin jana (antara 1 dan 100).
102. Klik butang "Jana" untuk mencipta ObjectID.
113. ObjectID yang dijana akan dipaparkan, bersama dengan visualisasi strukturnya.
124. Anda boleh menyalin ObjectID yang dijana ke papan klip anda menggunakan butang "Salin Hasil".
13
14### Struktur ObjectID MongoDB
15
16ObjectID MongoDB terdiri daripada:
17
181. Nilai 4-byte yang mewakili saat sejak epoch Unix
192. Nilai rawak 5-byte
203. Pengira 3-byte yang meningkat, dimulakan dengan nilai rawak
21
22Struktur ini boleh divisualisasikan seperti berikut:
23
24

plaintext |---- Timestamp -----|-- Rawak --|-- Pengira -| 4 byte 5 byte 3 byte

1
2### Formula
3
4Walaupun tiada formula matematik untuk menjana ObjectID, prosesnya boleh diterangkan secara algoritma:
5
61. Dapatkan timestamp semasa (saat sejak epoch Unix)
72. Jana nilai rawak 5-byte
83. Mulakan pengira 3-byte dengan nilai rawak
94. Gabungkan komponen ini untuk membentuk ObjectID 12-byte
10
11### Proses Penjanaan
12
13Penjana ObjectID mengikuti langkah-langkah ini:
14
151. Tukar timestamp Unix semasa kepada nilai heksadesimal 4-byte
162. Jana 5 byte rawak dan tukar kepada heksadesimal
173. Jana pengira 3-byte rawak dan tukar kepada heksadesimal
184. Gabungkan ketiga-tiga komponen ini untuk membentuk string heksadesimal 24-karakter
19
20### Kes Penggunaan
21
22ObjectID MongoDB mempunyai beberapa kes penggunaan penting:
23
241. **Pengenal Dokumen Unik**: ObjectID berfungsi sebagai medan `_id` lalai dalam dokumen MongoDB, memastikan setiap dokumen mempunyai pengenal unik.
25
262. **Maklumat Timestamp**: 4 byte pertama ObjectID mengandungi timestamp, membolehkan pengambilan masa penciptaan dengan mudah tanpa memerlukan medan berasingan.
27
283. **Pengurutan**: ObjectID boleh disusun secara kronologi, yang berguna untuk mendapatkan dokumen dalam urutan penyisipan.
29
304. **Sharding**: Dalam kluster MongoDB yang terbahagi, ObjectID boleh digunakan sebagai kunci sharding, walaupun ini tidak selalu pilihan terbaik untuk setiap kes penggunaan.
31
325. **Penyahpepijatan dan Log**: Komponen timestamp ObjectID boleh berguna dalam penyahpepijatan dan analisis log.
33
34#### Alternatif
35
36Walaupun ObjectID adalah pengenal lalai dalam MongoDB, terdapat alternatif:
37
381. **Pengenal Semula Jadi**: Menggunakan pengenal unik semula jadi dari data anda (contohnya, alamat emel, ISBN)
392. **Nombor yang Meningkat Secara Automatik**: Serupa dengan kunci utama yang meningkat secara automatik dalam RDBMS tradisional
403. **UUID**: Pengenal Unik Sejagat, yang merupakan pengenal 128-bit
414. **Skim Penjanaan Khas**: Mencipta logik penjanaan ID anda sendiri untuk memenuhi keperluan tertentu
42
43### Sejarah
44
45ObjectID diperkenalkan dengan pelepasan awal MongoDB pada tahun 2009. Mereka direka untuk menyediakan pengenal unik yang boleh dijana dengan cepat dan secara bebas oleh pelayan yang berbeza, menjadikannya ideal untuk sistem teragih.
46
47Struktur ObjectID telah kekal konsisten sepanjang sejarah MongoDB, walaupun pelaksanaan khusus tentang cara ia dijana telah dioptimumkan dari semasa ke semasa.
48
49### Contoh
50
51Berikut adalah potongan kod yang menunjukkan cara untuk menjana ObjectID MongoDB dalam pelbagai bahasa pengaturcaraan:
52
53

python import bson

Jana satu ObjectID

object_id = bson.ObjectId() print(object_id)

Jana beberapa ObjectID

object_ids = [bson.ObjectId() for _ in range(5)] print(object_ids)

1
2

javascript const { ObjectId } = require('mongodb');

// Jana satu ObjectID const objectId = new ObjectId(); console.log(objectId.toString());

// Jana beberapa ObjectID const objectIds = Array.from({ length: 5 }, () => new ObjectId().toString()); console.log(objectIds);

1
2

java import org.bson.types.ObjectId;

public class ObjectIdExample { public static void main(String[] args) { // Jana satu ObjectID ObjectId objectId = new ObjectId(); System.out.println(objectId.toString());

    // Jana beberapa ObjectID
    for (int i = 0; i < 5; i++) {
        System.out.println(new ObjectId().toString());
    }
}

}

1
2

ruby require 'bson'

Jana satu ObjectID

object_id = BSON::ObjectId.new puts object_id.to_s

Jana beberapa ObjectID

object_ids = 5.times.map { BSON::ObjectId.new.to_s } puts object_ids

1
2Contoh-contoh ini menunjukkan cara untuk menjana ObjectID menggunakan pemacu MongoDB rasmi atau pustaka BSON dalam pelbagai bahasa pengaturcaraan. ObjectID yang dijana akan unik dan mengikuti struktur yang diterangkan sebelum ini.
3
4### Rujukan
5
61. "ObjectId." Manual MongoDB, https://docs.mongodb.com/manual/reference/method/ObjectId/. Diakses 2 Ogos 2024.
72. "Jenis BSON." Spesifikasi BSON, http://bsonspec.org/spec.html. Diakses 2 Ogos 2024.
83. "MongoDB ObjectID." Wikipedia, Yayasan Wikimedia, https://en.wikipedia.org/wiki/ObjectId. Diakses 2 Ogos 2024.
9