Mỗi tài liệu trong bộ sưu tập có một trường “_id” được sử dụng để xác định duy nhất tài liệu trong một bộ sưu tập cụ thể, trường này đóng vai trò là khóa chính cho các tài liệu trong bộ sưu tập. Trường “_id” có thể được sử dụng ở bất kỳ định dạng nào và định dạng mặc định là ObjectId của tài liệu
ObjectID là loại Trường BSON 12 byte
- 4 byte đầu tiên biểu thị Dấu thời gian Unix của tài liệu
- 3 byte tiếp theo là Id máy mà máy chủ MongoDB đang chạy
- 2 byte tiếp theo là process id
- Trường cuối cùng là 3 byte được sử dụng để tăng objectid
Định dạng của ObjectId
ObjectId[]
ObjectId chấp nhận một tham số là ObjectId thập lục phân tùy chọn trong Chuỗi
Chúng tôi có thể cung cấp ObjectId của riêng mình cho tài liệu nhưng nó phải là duy nhất
*db..insertOne[{"_id":"231231"}]
Ví dụ
cơ sở dữ liệu. gfg
Bộ sưu tập. hoc_gfg
Phương thức của ObjectId
- str. Trả về định dạng chuỗi thập lục phân của ObjectId
- ID đối tượng. lấy Dấu thời gian[]. Nó trả về phần dấu thời gian của đối tượng dưới dạng Ngày
- ID đối tượng. giá trị của[]. Nó trả về định dạng thập lục phân của một String Literal đã cho
- ID đối tượng. toString[]. Phương thức này trả về ObjectId ở định dạng Chuỗi trong biểu diễn javascript
1. Tạo ObjectId. Để tạo ObjectId mới của tài liệu cụ thể
newObjectId = ObjectId[]
đầu ra
ObjectId[“5f92cbf10cf217478ba93561”]
2. Dấu thời gian của ObjectID. Nó trả về thông tin dấu thời gian của đối tượng dưới dạng Ngày ở định dạng ISO
Trong loạt bài đào tạo Chi tiết về MongoDB này, hướng dẫn trước đây của chúng tôi đã giải thích cho chúng ta tất cả về cách sử dụng Update[] và Delete[] Document trong MongoDB
Trong hướng dẫn này, chúng ta sẽ tìm hiểu về ObjectId và các phương thức của nó trong MongoDB
Về cơ bản, ObjectId được coi là khóa chính trong bất kỳ bộ sưu tập MongoDB nào
Nó được tạo tự động bất cứ khi nào chúng tôi tạo một tài liệu mới trong một bộ sưu tập mới. Nó dựa trên giá trị thập lục phân 12 byte như bạn có thể quan sát theo cú pháp sau
cú pháp
ObjectId[]
Giá trị thập lục phân này được chia thành ba phân đoạn như sau
- Phân đoạn đầu tiên của giá trị 4 byte biểu thị số giây kể từ kỷ nguyên UNIX
- Phân đoạn thứ hai của giá trị ngẫu nhiên 5 byte
- Đoạn thứ ba của bộ đếm 3 byte bắt đầu với một giá trị ngẫu nhiên
MongoDB cung cấp ba phương thức cho ObjectId như bên dưới
- ID đối tượng. lấy Dấu thời gian[]
- ID đối tượng. toString[]
- ID đối tượng. giá trị của[]
Bạn sẽ học được gì
Tạo ObjectId
Để tạo một objectID mới theo cách thủ công trong MongoDB, bạn có thể khai báo objectId như một phương thức. Nói một cách đơn giản, chúng ta có thể nói rằng ID đối tượng là một mã định danh duy nhất cho mỗi bản ghi. Trong hình ảnh bên dưới, bạn có thể quan sát thấy rằng chúng tôi đang khai báo một biến có phương thức ID đối tượng làm giá trị và nó sẽ trả về hệ thập lục phân duy nhất
Mã số
X = ObjectId[]
Hình 1. Trong vỏ Mongo
Hình 2. Trong Robo 3T
Trong hình trên, bạn có thể quan sát thấy rằng chúng ta đang khai báo một phương thức objectID làm giá trị cho biến “x” nhiều lần. Mỗi lần nó sẽ trả về một giá trị thập lục phân duy nhất và khi chúng ta chỉ gọi “x”, nó sẽ trả về giá trị thập lục phân được lưu trữ cuối cùng
Từ thử nghiệm này, chúng ta biết rằng, mỗi khi chúng ta gọi ObjectID, nó sẽ dành một vị trí cụ thể trong bộ nhớ ảo cho một bản ghi
Xác định ObjectId cụ thể theo hệ thập lục phân
Nếu bạn muốn xác định giá trị thập lục phân duy nhất của riêng mình thì MongoDB sẽ cho phép bạn thực hiện hành động này. Trong ví dụ trên, nó chỉ khai báo ID đối tượng mà không có bất kỳ tham số nào dưới dạng phương thức
Trong trường hợp này, chúng tôi sẽ xác định ID đối tượng có giá trị thập lục phân làm tham số của phương thức
Như bạn có thể quan sát, trong hình ảnh sau đây, chúng tôi đang xác định giá trị của biến “y” dưới dạng ID đối tượng được xác định trước. Do đó, nó sẽ trả về cùng một ID đối tượng mà qua đó chúng ta biết rằng chúng ta có thể chỉ định một giá trị thập lục phân cụ thể cho một ID đối tượng riêng lẻ
Mã số
y = ObjectId[“5bf142459b72e12b2b1b2cd”]
Hình 3. Trong vỏ Mongo
hinh 4. Trong Robo 3T
Nhận chuỗi thập lục phân ObjectId
Khi bạn gọi ID đối tượng, nó sẽ không trả về cho bạn chuỗi, thay vào đó, nó sẽ trả về cho bạn toàn bộ phương thức có giá trị thập lục phân duy nhất
Để trích xuất hệ thập lục phân duy nhất dưới dạng một chuỗi từ objectID, bạn phải sử dụng “. str” là hậu tố. Trong hình ảnh sau đây, bạn có thể quan sát cách thức hoạt động của nó
Mã số
y = ObjectId[“5bf142459b72e12b2b1b2cd”]. str
Hình 5. Trong vỏ Mongo
Hình 6. Trong Robo 3T
Phần kết luận
ID đối tượng được coi là khóa chính trong bộ sưu tập MongoDB và được tạo tự động. Chúng tôi có thể tạo ID đối tượng theo cách thủ công và chúng tôi cũng có thể xác định giá trị thập lục phân theo yêu cầu của chúng tôi
Chúng tôi cũng có thể trích xuất giá trị thập lục phân dưới dạng một chuỗi từ ID đối tượng. ID đối tượng là sự kết hợp của thời gian, giá trị ngẫu nhiên và giá trị bộ đếm. Mỗi khi chúng ta gọi ID đối tượng, nó sẽ tạo ra một giá trị thập lục phân duy nhất