Класс MongoId

(PECL mongo >=0.8.0)

Внимание

Расширение, задающее этот класс, объявлено устаревшим. Вместо него используйте расширение MongoDB. Есть такие альтернативы:

Введение

Уникальный идентификатор, созданный для объектов базы данных. При добавлении записи в базу данных без поля _id, такое поле будет автоматически добавлено и инициализировано объектом MongoId. Если хранимые записи предположительно и так будут содержать уникальные поля, (такие как имя пользователя или отметку времени), возможно использовать их вместо поля _id , и это не будет изменено MongoId.

Экземпляры класса MongoId выполняют роль автоинкремента реляционных базах данных: обеспечивает кортеж уникальным ключом в случае отсутствия такового. Однако автоинкремент не очень хорошо работает с секционированными (sharded) базами данных, так как в таком случае невозможно обеспечить быстрый поиск следующего инкремента. Данный класс удовлетворяет требованиям к быстрой генерации значения, уникального в пределах секции.

Каждый MongoId состоит из 12 байт (преобразующихся в 24 шестнадцатеричных символа). Первые 4 байта занимает отметка времени, следующие 3 хеш имени хоста клиента, следующие 2 - последние 2 значащих байта идентификатора процесса исполнения скрипта, и последние 3 байта - автоинкрементное значение.

Объекты MongoIdмогуть быть сериализованы и десериализованы. Пример сериализованного значения:

C:7:"MongoId":24:{4af9f23d8ead0e1d32000000}

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

MongoId {
public string $$id = NULL ;
/* Методы */
public __construct ([ string|MongoId $id = NULL ] )
public static getHostname ( void ) : string
public getInc ( void ) : int
public getPID ( void ) : int
public getTimestamp ( void ) : int
public static isValid ( mixed $value ) : bool
public static __set_state ( array $props ) : MongoId
public __toString ( void ) : string
}

Поля

id
Поле содержит строчное представление объекта.

Замечание: Имя свойства начинается с символа $. К нему можно обратиться используя сложный синтаксис разбора переменных (т.е. $mongoId->{'$id'}).

Смотрите также

Документация MongoDB об » идентификаторах.

Содержание

  • MongoId::__construct — Создает новый идентификатор
  • MongoId::getHostname — Получает имя хоста, используемое для идентификаторов этой машины
  • MongoId::getInc — Получает увеличенное значение для создания этого идентификатора
  • MongoId::getPID — Получает идентификатор процесса
  • MongoId::getTimestamp — Получает количество секунд с момента создания этого идентификатора
  • MongoId::isValid — Проверяет, является ли значение корректным ObjectId
  • MongoId::__set_state — Создает фиктивный MongoId
  • MongoId::__toString — Возвращает шестнадцатеричное представление этого идентификатора