Khóa chính trong MongoDB là gì?
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 nhận dạng duy nhất trong bộ sưu tập. Trường _id chứa một giá trị ObjectID duy nhất.
Theo mặc định khi chèn tài liệu vào bộ sưu tập, nếu bạn không thêm tên trường bằng _id trong tên trường, thì MongoDB sẽ tự động thêm trường id đối tượng 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ể thấy ObjectId cho mỗi 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 riêng mình làm _id của bộ sưu tập, thì bạn cần xác định rõ điều này trong khi tạo bộ sưu tập.
Khi tạo một trường id 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ã:
- Chúng tôi giả định rằng chúng tôi đang tạo tài liệu đầu tiên trong bộ sưu tập và do đó trong câu lệnh trên trong khi tạo bộ sưu tập, chúng tôi xác định rõ ràng trường _id và xác định giá trị cho nó.
Nếu lệnh được thực hiện thành công và bây giờ sử dụng lệnh tìm để 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ả cho thấy rõ ràng rằng trường _id mà chúng tôi đã xác định trong 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.