Cách lấy objectid trong mongodb

ObjectId của bất kỳ tài liệu nào bao gồm một số thập lục phân và có thể được sử dụng để xác định duy nhất bất kỳ tài liệu nào. Người ta quan sát thấy rằng các ObjectId do hệ thống xác định luôn là duy nhất. Tương tự, người dùng không thể gán một giá trị id cho nhiều tài liệu

Hướng dẫn này cung cấp hướng dẫn ngắn gọn để tìm hiểu các cách có thể nhận ObjectId sau khi chèn. Trước khi hiểu sâu hơn, hãy bắt đầu hướng dẫn này để hiểu việc gán ObjectId trong MongoDB

Sự khác biệt giữa id duy nhất do hệ thống xác định và do người dùng xác định là gì

Như đã thảo luận trước đó, tất cả các tài liệu trong MongoDB chứa các id duy nhất được phân loại thành hai loại lớn. tôi. e. , Người dùng Xác định và Hệ thống Xác định. Ở đây, chúng tôi đã chuẩn bị một phần giải thích cả hai phần

Id do hệ thống xác định. Nếu người dùng quên thêm trường “_id” trong quá trình chèn, hệ thống sẽ tự động gán một ObjectId cho tài liệu đó. Chẳng hạn, lệnh được đưa ra dưới đây chèn hai trường vào bộ sưu tập nhân viên. Cần lưu ý rằng chúng tôi đã không cung cấp bất kỳ id duy nhất nào trong quá trình chèn

> db. Nhân Viên. điền tên. "Alen", điểm số. 10}]

Hãy kiểm tra nội dung bên trong bộ sưu tập nhân viên bằng cách đưa ra lệnh được đề cập bên dưới

> db. Nhân Viên. tìm thấy[]. khá[]

Có thể quan sát thấy từ đầu ra rằng hệ thống đã gán một ObjectId, vì chúng tôi đã không cung cấp id khi chèn tài liệu

Id do người dùng xác định. Để hiểu rõ hơn về Id do người dùng xác định, chúng tôi đã thực hiện theo lệnh được đề cập bên dưới để chèn tài liệu vào bộ sưu tập nhân viên. Có thể quan sát thấy rằng lệnh chứa trường “Id”

> db. người lao động. chèn [{_id. 1, tên. "Sâm"}]

Xác minh việc chèn bằng cách ban hành lệnh sau

> db. người lao động. tìm thấy[]. khá[]

Và bạn sẽ nhận thấy từ đầu ra rằng trường “_id” chứa cùng một giá trị như nó đã được chèn trong lệnh trên

Cách lấy ObjectId sau khi chèn

Phần này chứa cách tốt nhất có thể để lấy “ObjectId” sau khi chèn vào MongoDB. Tên bộ sưu tập là “Tác giả” và sẽ được sử dụng ở đây để tham khảo các ví dụ

Phương pháp phổ biến để lấy ObjectId của tài liệu là sử dụng phương thức find. Lệnh được đề cập bên dưới sẽ truy xuất tất cả nội dung từ bộ sưu tập “Tác giả”. Người ta quan sát thấy rằng trường đầu tiên của mỗi tài liệu chứa Id của mỗi tài liệu xác định duy nhất tài liệu đó

> db. tác giả. tìm thấy[]. khá[]

Phần kết luận

Một trong những thuộc tính chính của bất kỳ Hệ thống quản lý cơ sở dữ liệu [DBMS] nào là xác định duy nhất dữ liệu được lưu trữ. Giống như các DBMS khác, MongoDB cũng gán một id duy nhất cho mỗi tài liệu bên trong một bộ sưu tập. Trong hướng dẫn này của loạt bài MongoDB, bạn đã học cách lấy ObjectId sau khi chèn nó vào MongoDB. Để kiểm tra ObjectId trong MongoDB, phương thức find[] thường được sử dụng. ObjectId trong MongoDB được gán bởi hệ thống và cũng dài. Do đó, không thể nhớ các id duy nhất dài cho hàng trăm tài liệu. Bằng cách làm theo hướng dẫn này, bạn sẽ có thể kiểm tra ObjectId của tất cả các tài liệu và sau đó bạn có thể truy cập các tài liệu bằng cách sử dụng Id duy nhất của chúng

Chúng ta đã sử dụng MongoDB Object Id trong tất cả các chương trước. Trong chương này, chúng ta sẽ tìm hiểu cấu trúc của ObjectId

ObjectId là loại BSON 12 byte có cấu trúc như sau -

  • 4 byte đầu tiên biểu thị số giây kể từ kỷ nguyên unix
  • 3 byte tiếp theo là định danh máy
  • 2 byte tiếp theo bao gồm id quá trình
  • 3 byte cuối cùng là giá trị bộ đếm ngẫu nhiên

MongoDB sử dụng ObjectIds làm giá trị mặc định của trường _id của mỗi tài liệu, được tạo trong khi tạo bất kỳ tài liệu nào. Sự kết hợp phức tạp của ObjectId làm cho tất cả các trường _id trở nên độc nhất

Tạo ObjectId mới

Để tạo một ObjectId mới, hãy sử dụng đoạn mã sau -

>newObjectId = ObjectId[]

Câu lệnh trên trả về id được tạo duy nhất sau đây -

ObjectId["5349b4ddd2781d08c09890f3"]

Thay vì MongoDB tạo ObjectId, bạn cũng có thể cung cấp id 12 byte -

>myObjectId = ObjectId["5349b4ddd2781d08c09890f4"]

Tạo dấu thời gian của tài liệu

Vì _id ObjectId theo mặc định lưu trữ dấu thời gian 4 byte, nên trong hầu hết các trường hợp, bạn không cần lưu trữ thời gian tạo của bất kỳ tài liệu nào. Bạn có thể lấy thời gian tạo tài liệu bằng phương thức getTimestamp -

>ObjectId["5349b4ddd2781d08c09890f4"].getTimestamp[]

Điều này sẽ trả về thời gian tạo tài liệu này ở định dạng ngày ISO -

ISODate["2014-04-12T21:49:17Z"]

Chuyển đổi ObjectId thành Chuỗi

Trong một số trường hợp, bạn có thể cần giá trị của ObjectId ở định dạng chuỗi. Để chuyển đổi ObjectId thành chuỗi, hãy sử dụng đoạn mã sau –

Làm cách nào để lấy giá trị ObjectId trong MongoDB?

Các phương thức của ObjectId. .
str. Trả về định dạng chuỗi thập lục phân của ObjectId
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
giá trị của[]. Nó trả về định dạng thập lục phân của một String Literal đã cho
toString[]. Phương thức này trả về ObjectId ở định dạng Chuỗi trong biểu diễn javascript

Làm cách nào để tạo ObjectId trong MongoDB?

Theo mặc định, MongoDB tạo một mã định danh ObjectID duy nhất được gán cho trường _id trong tài liệu mới trước khi ghi tài liệu đó vào cơ sở dữ liệu . Trong nhiều trường hợp, các mã định danh duy nhất mặc định được chỉ định bởi MongoDB sẽ đáp ứng các yêu cầu của ứng dụng.

Làm cách nào để xác định ID đối tượng trong MongoDB?

ID đối tượng được coi là khóa chính trong mọi bộ sưu tập MongoDB. Nó là một mã định danh duy nhất cho mỗi tài liệu hoặc hồ sơ. cú pháp. ObjectId[ . ObjectId là một chuỗi thập lục phân loại BSON 12 byte có cấu trúc như trong ví dụ bên dưới.

Làm cách nào để lấy ObjectId trong MongoDB Python?

ObjectId là khóa chính mặc định cho tài liệu MongoDB và thường được tìm thấy trong trường “_id” . PyMongo. PyMongo là trình điều khiển Python gốc cho MongoDB. Nó cho phép tương tác với Cơ sở dữ liệu MongoDB thông qua Python. Bước 1. Đảm bảo khởi động cục bộ cơ sở dữ liệu MongoDB trên cổng mặc định [27017].

Chủ Đề