Là mongodb objectid uuid?
Đã thực hiện một số công việc với cả UUID/UUID và MongoDB ObjectID, Show Tôi muốn đề xuất một hệ thống chung để qua lại giữa hai Có những điểm tương đồng giữa UUID và ObjectID và UUID có thêm 4 byte và một cách để cung cấp một số biến thể và thông tin phiên bản tối thiểu Vì vậy, xem xét các tài liệu này Tôi sẽ đề xuất khóa dịch thuật này Để tạo UUID từ ObjectID - đặt ba byte đầu tiên (24 bit) thành $FE $EF $EE (thứ phải có tên, đúng không?) - đặt ba byte tiếp theo (24 bit) thành phần băm máy của ObjectID (byte 4. 6) - đặt hai byte tiếp theo (16 bit) vào phần pid của ObjectID (byte 7. số 8) - đặt byte tiếp theo (8 bit) thành $70 ('phiên bản 7' dường như chưa được sử dụng) - đặt bốn byte tiếp theo (32 bit) vào phần dấu thời gian của ObjectID (byte 0. 3) - đặt ba byte tiếp theo (24 bit) thành phần gia tăng của ObjectID (byte 9. 11) {FEEFEE LL-LLLL-MMMM-70 KK-KKKKKK NNNN} Để xây dựng một ObjectID từ một UUID - kiểm tra byte 0. 3 là $FE $EF $EE - sử dụng byte 9. 11 dưới dạng byte ObjectID 0. 3 - sử dụng byte 3. 5 dưới dạng byte ObjectID 4. 6 - sử dụng byte 7. 8 dưới dạng byte ObjectID 7. 8 - sử dụng byte 13. 15 dưới dạng byte ObjectID 9. 11 Một dấu thời gian 4 byte, đại diện cho sự sáng tạo của Objectid, được đo bằng giây kể từ thời đại unix Giá trị ngẫu nhiên 5 byte được tạo một lần cho mỗi quá trình. Natural value value is duy nhất cho máy và quy trình Bộ đếm tăng 3 byte, khởi tạo thành một giá trị ngẫu nhiên Mặc dù bản thân định dạng BSON là ít endian, các giá trị dấu thời gian và bộ đếm là lớn, nhưng các byte quan trọng nhất xuất hiện đầu tiên trong chuỗi byte Nếu một số nguyên giá trị được sử dụng để tạo ObjectID, số nguyên sẽ thay thế dấu thời gian y = ObjectId("507f191e810c19729de860ea") Enter type Mô tả sự kiện y = ObjectId("507f191e810c19729de860ea") Không bắt buộc. Một giá trị chuỗi thập lục phân 24 ký tự cho ObjectID mới y = ObjectId("507f191e810c19729de860ea") Không bắt buộc. Giá trị nguyên, tính bằng giây, được thêm vào Epoch Unix để tạo dấu thời gian mới. Kỷ nguyên Unix để tạo dấu thời gian mới. y = ObjectId("507f191e810c19729de860ea") Thuộc tính/Phương thức Mô tả sự kiện 1Không bắt buộc. Một giá trị chuỗi thập lục phân 24 ký tự cho ObjectID mới 2Không bắt buộc. Giá trị nguyên, tính bằng giây, được thêm vào Epoch Unix để tạo dấu thời gian mới 3y = ObjectId("507f191e810c19729de860ea") 5Trả về biểu tượng chuỗi thập lục phân của đối tượng Trả về dấu thời gian của đối tượng là một ngày. ______03 không đối số. Trả về biểu tượng JavaScript dưới dạng một chuỗi theo nghĩa đen " 4". 1Trả về biểu tượng của đối tượng dưới dạng chuỗi thập lục phân. Rechargeable string thuộc tính ____121. ______03 với một chuỗi thập lục phân duy nhất.
Để tạo một ObjectID mới, hãy sử dụng 3 mà không có đối số 6Trong ví dụ này, value of 8 is. 0Để tạo một ObjectID mới bằng cách sử dụng 3 với chuỗi thập lục phân duy nhấtTrong ví dụ này, value of 60 will be. 2Thuộc tính truy cập 1 of đối tượng 3, as after. 4Hoạt động này sẽ trả về chuỗi thập lục phân sau. Kỷ nguyên Unix . Trong ví dụ này 53 giây, được biểu thị bằng hệ thập lục phân là 64, được thêm vào. Phần tử ngẫu nhiên năm byte và bộ đếm ba byte tạo nên phần còn lại của ObjectIdTạo một ObjectID mới bằng cách sử dụng một số nguyênObjectID same withIn sao mặc định ObjectId("507f191e810c19729de860ea")5 is a hex string 24 character?Định danh duy nhất mặc định được tạo dưới dạng từ khóa chính ( 65) cho tài liệu MongoDB là một ObjectID. Đây là giá trị nhị phân 12 byte thường được biểu diễn dưới dạng chuỗi HEX 24 ký tự và một trong các loại trường tiêu chuẩn được hỗ trợ bởi kỹ thuật số của MongoDB BSON12 byte của một ObjectID được xây dựng bằng cách sử dụng
Tầm quan trọng của một ObjectID là gì?ObjectIds (hoặc các định danh tương tự được tạo theo công thức GUID) cho phép các định danh duy nhất được tạo độc lập trong một hệ thống phân tán Khả năng tạo ID độc lập duy nhất trở nên rất quan trọng khi bạn mở rộng lên nhiều máy chủ ứng dụng (hoặc có thể là nhiều nút cơ sở dữ liệu trong cụm bị cắt). Bạn không muốn có một nút cổ chai phối hợp trung tâm như một bộ đếm trình tự (ví dụ. như bạn có thể có khóa chính khởi động) và bạn sẽ muốn thêm các tài liệu mới mà không có rủi ro rằng một định danh mới sẽ trở thành một nhân bản Một ObjectID thường được tạo bởi trình điều khiển máy khách MongoDB của bạn, nhưng cũng có thể được tạo trên máy chủ MongoDB nếu trình điều khiển máy khách hoặc mã ứng dụng của bạn hoặc trường chưa bổ sung 65Tôi có phải sử dụng ObjectID default không?Không. Nếu bạn có một mã định danh duy nhất phù hợp hơn để sử dụng, bạn luôn có thể cung cấp giá trị của riêng mình cho |