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