_id có bắt buộc trong MongoDB không?
Trong MongoDB, trường _id làm khóa chính cho bộ sưu tập để mỗi tài liệu có thể được xác định duy nhất trong bộ sưu tập. Trường _id chứa một giá trị ObjectID duy nhất Show
Mặc định khi chèn tài liệu vào trong collection nếu bạn không thêm tên trường có _id vào tên trường thì MongoDB sẽ tự động thêm trường Object id như hình bên dưới Khi bạn truy vấn các tài liệu trong một bộ sưu tập, bạn có thể xem ObjectId cho từng tài liệu trong bộ sưu tập Nếu bạn muốn đảm bảo rằng MongoDB không tạo Trường _id khi bộ sưu tập được tạo và nếu bạn muốn chỉ định id của chính mình làm _id của bộ sưu tập, thì bạn cần xác định rõ ràng điều này trong khi tạo bộ sưu tập Khi tạo một trường id một cách rõ ràng, nó cần được tạo với _id trong tên của nó Hãy xem một ví dụ về cách chúng ta có thể đạt được điều này db.Employee.insert({_id:10, "EmployeeName" : "Smith"}) Giải thích mã
Nếu lệnh được thực hiện thành công và bây giờ sử dụng lệnh find để hiển thị các tài liệu trong bộ sưu tập, Kết quả sau sẽ được hiển thị đầu ra Kết quả hiển thị rõ ràng rằng trường _id mà chúng tôi đã xác định khi tạo bộ sưu tập hiện được sử dụng làm khóa chính cho bộ sưu tập Hôm nay trong bài viết này, chúng ta sẽ xem một số hướng dẫn hữu ích khi xác định lược đồ cho MongoDB bằng _id Field Hôm nay chúng tôi sẽ đề cập đến các khía cạnh dưới đây,
_id trong MongoDB là gì?Các trường _id trong MongoDB là một ObjectId. Nó là duy nhất, tạo nhanh và có độ dài 12 byte, bao gồm dấu thời gian + giá trị ngẫu nhiên + bộ đếm ObjectId là cấu trúc cung cấp số nhận dạng duy nhất trên toàn cầu cho tài liệu của bạn Cách '_id' được tạo trong MongoDBMỗi tài liệu được lưu trữ trong bộ sưu tập MongoDB yêu cầu một trường _id duy nhất cũng được dành riêng làm khóa chính xác định từng tài liệu duy nhất Để biết thêm chi tiết, vui lòng truy cập bài viết này,
Hãy lấy một tài liệu lược đồ ví dụ được đẩy lên MongoDB, Ví dụ { "Name": "Design Patterns", "Price": 54.93, "Category": "Computers", "Author": "Ralph Johnson" } Tài liệu MongoDB được chèn như bên dưới, { "_id":"5db5a4476997188b2722c820", "Name":"Design Patterns", "Price":54.93, "Category":"Computers", "Author":"Ralph Johnson" } Với những điều trên, bạn sẽ có được giải pháp cho tính duy nhất ở cấp Cơ sở hạ tầng cơ sở dữ liệu. Không có nghĩa là bạn sẽ nhận được cùng một tài liệu có cùng “_id” trong bộ sưu tập đã cho. Điều này chỉ được chăm sóc bởi hệ thống MongoDB và hành vi mặc định của nó Tôi có thể sử dụng _id của riêng mình được xác định khôngĐây là một khả năng rất lớn trên thực tế tôi đã thấy nhiều dự án sử dụng _id của riêng họ Ví dụ Trong ví dụ dưới đây _id được mã máy khách xác định rõ ràng và được chèn vào cơ sở dữ liệu Đây là một ví dụ khi sử dụng ‘_id’ được xác định tùy chỉnh Trước khi sử dụng tùy chọn này, có các hướng dẫn bên dưới có thể giúp bạn quyết định, Hướng dẫn và các phương pháp hay nhất cho trường ID MongoDB
|