Tạo các ObjectID MongoDB hợp lệ cho việc kiểm tra, phát triển hoặc mục đích giáo dục. Công cụ này tạo ra các định danh duy nhất 12 byte được sử dụng trong cơ sở dữ liệu MongoDB, bao gồm một dấu thời gian, giá trị ngẫu nhiên và bộ đếm tăng dần.
ObjectID MongoDB là một định danh duy nhất được sử dụng trong các cơ sở dữ liệu MongoDB. Công cụ này cho phép bạn tạo ra các ObjectID MongoDB hợp lệ để kiểm tra, phát triển hoặc mục đích giáo dục. ObjectID là loại BSON 12 byte, bao gồm một giá trị 4 byte thời gian, một giá trị ngẫu nhiên 5 byte và một bộ đếm tăng dần 3 byte.
Một ObjectID MongoDB bao gồm:
Cấu trúc có thể được hình dung như sau:
1|---- Thời gian -----|-- Ngẫu nhiên --|-- Bộ đếm -|
2 4 byte 5 byte 3 byte
3
Mặc dù không có công thức toán học để tạo ra ObjectID, nhưng quá trình này có thể được mô tả theo thuật toán:
Trình tạo ObjectID tuân theo các bước sau:
ObjectID MongoDB có một số trường hợp sử dụng quan trọng:
Định danh Tài liệu Duy nhất: ObjectID phục vụ như trường mặc định _id
trong các tài liệu MongoDB, đảm bảo mỗi tài liệu có một định danh duy nhất.
Thông tin Thời gian: Bốn byte đầu tiên của một ObjectID chứa một dấu thời gian, cho phép dễ dàng trích xuất thời gian tạo mà không cần một trường riêng biệt.
Sắp xếp: ObjectID có thể được sắp xếp theo thứ tự thời gian, điều này hữu ích cho việc lấy tài liệu theo thứ tự chèn.
Sharding: Trong một cụm MongoDB phân mảnh, ObjectID có thể được sử dụng làm khóa phân mảnh, mặc dù điều này không phải lúc nào cũng là lựa chọn tốt nhất cho mọi trường hợp sử dụng.
Gỡ lỗi và Ghi log: Thành phần dấu thời gian của ObjectID có thể hữu ích trong việc gỡ lỗi và phân tích nhật ký.
Mặc dù ObjectID là định danh mặc định trong MongoDB, nhưng còn có các lựa chọn thay thế:
ObjectID được giới thiệu cùng với bản phát hành ban đầu của MongoDB vào năm 2009. Chúng được thiết kế để cung cấp một định danh duy nhất có thể được tạo ra nhanh chóng và độc lập bởi các máy chủ khác nhau, làm cho chúng trở nên lý tưởng cho các hệ thống phân tán.
Cấu trúc của ObjectID đã được giữ nguyên trong suốt lịch sử của MongoDB, mặc dù việc triển khai cụ thể cách chúng được tạo ra đã được tối ưu hóa theo thời gian.
Dưới đây là các đoạn mã minh họa cách tạo ObjectID MongoDB trong các ngôn ngữ lập trình khác nhau:
1import bson
2
3## Tạo một ObjectID
4object_id = bson.ObjectId()
5print(object_id)
6
7## Tạo nhiều ObjectID
8object_ids = [bson.ObjectId() for _ in range(5)]
9print(object_ids)
10
1const { ObjectId } = require('mongodb');
2
3// Tạo một ObjectID
4const objectId = new ObjectId();
5console.log(objectId.toString());
6
7// Tạo nhiều 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 // Tạo một ObjectID
6 ObjectId objectId = new ObjectId();
7 System.out.println(objectId.toString());
8
9 // Tạo nhiều ObjectID
10 for (int i = 0; i < 5; i++) {
11 System.out.println(new ObjectId().toString());
12 }
13 }
14}
15
1require 'bson'
2
3## Tạo một ObjectID
4object_id = BSON::ObjectId.new
5puts object_id.to_s
6
7## Tạo nhiều ObjectID
8object_ids = 5.times.map { BSON::ObjectId.new.to_s }
9puts object_ids
10
Các ví dụ này minh họa cách tạo ObjectID bằng cách sử dụng các trình điều khiển MongoDB chính thức hoặc các thư viện BSON trong các ngôn ngữ lập trình khác nhau. Các ObjectID được tạo ra sẽ là duy nhất và tuân theo cấu trúc đã mô tả trước đó.
Khám phá thêm các công cụ có thể hữu ích cho quy trình làm việc của bạn