Класс MongoDB\BSON\ObjectId

(mongodb >=1.0.0)

Введение

Класс представляет BSON-данные с типом » ObjectId. Значение состоит из 12 байтов, в которых первые четыре байта — метка времени, которая отражает время, в которое создали объект ObjectId. Подробный состав значения:

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

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

Идентификаторы ObjectId для поля _id дают следующую дополнительную выгоду:

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

Обзор класса

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

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

Версия Описание
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.

Содержание