Что такое первичный ключ в MongoDB?
В MongoDB поле _id является первичным ключом для коллекции, чтобы каждый документ мог быть уникально идентифицирован в коллекции. Поле _id содержит уникальное значение ObjectID.
По умолчанию при вставке документов в коллекцию, если вы не добавите имя поля с _id в имени поля, то MongoDB автоматически добавит поле Object id, как показано ниже
Когда вы запрашиваете документы в коллекции, вы можете видеть ObjectId для каждого документа в коллекции.
Если вы хотите убедиться, что MongoDB не создает Поле _id при создании коллекции, и если вы хотите указать свой собственный идентификатор в качестве _id коллекции, вам необходимо явно указать это при создании коллекции.
При явном создании поля id его необходимо создать с именем _id.
Давайте рассмотрим пример того, как мы можем этого добиться.
db.Employee.insert({_id:10, "EmployeeName" : "Smith"})
Объяснение кода:
- Мы предполагаем, что мы создаем первый документ в коллекции и, следовательно, в приведенном выше утверждении при создании коллекции мы явно определяем поле _id и определяем значение для него.
Если команда выполнена успешно и теперь используется команда find для отображения документов в коллекции, будет показан следующий вывод
Вывод:
Вывод ясно показывает, что поле _id, которое мы определили при создании коллекции, теперь используется в качестве первичного ключа для коллекции.