Идентификаторы ObjectId небольшие, вероятно, уникальные, быстро генерируются и упорядочены. Значения ObjectId состоят из 12 байтов, где первые четыре байта представляют собой временную метку, отражающую создание ObjectId. Конкретно:
- 4-байтовое значение, представляющее секунды, прошедшие с эпохи Unix,
- 5-байтовое случайное значение и
- 3-байтовый счетчик, начинающийся со случайного значения.
В MongoDB для каждого документа, хранящегося в коллекции, требуется уникальное поле _id, которое действует как первичный ключ. Если во вставленном документе отсутствует поле _id, драйвер MongoDB автоматически генерирует ObjectId для поля _id.
Итог
Ключевой вывод для интервью: объясните структуру ObjectID в MongoDB.