Що таке первинний ключ у MongoDB?
У MongoDB поле _id як основний ключ для колекції, щоб кожен документ міг бути однозначно ідентифікований у колекції. Поле _id містить унікальне значення ObjectID.
За замовчуванням при вставці документів у колекцію, якщо ви не додасте ім'я поля з ідентифікатором _ в ім'я поля, то MongoDB автоматично додасть поле ідентифікатора об'єкта, як показано нижче
Коли ви запитуєте документи в колекції, ви можете побачити ObjectId для кожного документа в колекції.
Якщо ви хочете переконатися, що MongoDB не створює поле _id при створенні колекції, і якщо ви хочете вказати свій власний ідентифікатор як _id колекції, тоді вам потрібно чітко визначити це під час створення колекції.
При явному створенні поля ідентифікатора його потрібно створити з ідентифікатором _id в його назві.
Давайте розглянемо приклад того, як ми можемо цього досягти.
db.Employee.insert({_id:10, "EmployeeName" : "Smith"})
Пояснення коду:
- Ми припускаємо, що створюємо перший документ у колекції, а отже, у наведеному вище твердженні, створюючи колекцію, ми чітко визначаємо поле _id та визначаємо значення для нього.
Якщо команда виконана успішно і тепер використовується команда find для відображення документів у колекції, буде показано наступний результат
Вихід:
Результат наочно показує, що поле _id, яке ми визначили під час створення колекції, тепер використовується як первинний ключ для колекції.