Для увеличения значений или последовательностей требуется центральная точка отсчета, которая является ограничивающим фактором для масштабирования.Идентификаторы ObjectID разработаны как разумно уникальные идентификаторы, которые можно независимо генерировать в распределенной среде с монотонно увеличивающимися значениями (ведущий компонент метки времени) для приблизительного упорядочения.
Идентификаторы объектов обычно генерируются драйверами MongoDB, поэтому нет необходимостивыполните обход сервера, чтобы найти следующий доступный _id
, или дождитесь, когда сервер выполнит операцию вставки, чтобы узнать, что было выделено _id
.Если драйвер или клиентское приложение вставляет документ без включения значения _id
, сервер mongod
сгенерирует объект ObjectID.
Нет строгого требования использовать идентификаторы объектов в MongoDB: вы можете указать свойсобственные значения _id
, если для ваших данных существует более естественный уникальный ключ или вы предпочитаете альтернативный формат первичного ключа.