Класс MongoDB\BSON\ObjectId

(mongodb >=1.0.0)

Введение

Тип BSON для » ObjectId. Значение состоит из 12 байтов, где первые четыре байта являются меткой времени, которая отражает создание ObjectId. В частности, значение состоит из:

  • 4-байтовое значение, представляющее секунды с начала эпохи Unix,
  • 5-байтовое случайное число, уникальное для машины и процесса, и
  • 3-байтовый счётчик, начинающийся со случайного значения.

В MongoDB каждый документ, хранящийся в коллекции, требует уникального поля _id, которое действует как первичный ключ. Если во вставленном документе пропущено поле _id, драйвер автоматически создаёт ObjectId для поля _id.

Использование ObjectIds для поля _id обеспечивает следующие дополнительные преимущества:

  • Время создания ObjectId можно получить с помощью метода MongoDB\BSON\ObjectId::getTimestamp().
  • Сортировка по полю _id, в котором хранятся значения ObjectId, примерно эквивалентна сортировке по времени создания.

Обзор классов

/* Методы */
final public __construct(?string $id = null)
final public getTimestamp(): int
final public jsonSerialize(): mixed
final public serialize(): string
final public __toString(): string
final public unserialize(string $data): void
}

Список изменений

Версия Описание
PECL mongodb 1.12.0 Реализует интерфейс Stringable для PHP 8.0+.
PECL mongodb 1.3.0

Переименован из MongoDB\BSON\ObjectID в MongoDB\BSON\ObjectId.

Реализует интерфейс MongoDB\BSON\ObjectIdInterface.

PECL mongodb 1.2.0 Реализует интерфейсы Serializable и JsonSerializable.

Содержание