Класс MongoId
Вернуться к: Types
(PECL mongo >=0.8.0)
Введение
Уникальный идентификатор, созданный для объектов базы данных. При добавлении записи в базу данных без поля _id, такое поле будет автоматически добавлено и инициализировано объектом MongoId. Если хранимые записи предположительно и так будут содержать уникальные поля, (такие как имя пользователя или отметку времени), возможно использовать их вместо поля _id , и это не будет изменено MongoId.
Экземпляры класса MongoId выполняют роль автоинкремента реляционных базах данных: обеспечивает кортеж уникальным ключом в случае отсутствия такового. Однако автоинкремент не очень хорошо работает с секционированными (sharded) базами данных, так как в таком случае трудно определить следующее число в последовательности. Данный класс удовлетворяет требованиям к быстрой генерации значения, уникального в пределах секции.
Каждый MongoId состоит из 12 байт (преобразующихся в 24 шестнадцатеричных символа). Первые 4 байта занимает отметка времени, следующие 3 хеш имени хоста клиента, следующие 2 - последние 2 значащих байта идентификатора процесса исполнения скрипта, и последние 2 байта - автоинкрементное значение.
Объекты MongoIdмогут быть сериализованы и десериализованы. Пример сериализованного значения:
C:7:"MongoId":24:{4af9f23d8ead0e1d32000000}
Обзор классов
Поля
- $id
-
Поле содержит строчное представление объекта.
Замечание: Имя свойства начинается с символа $. К нему можно обратиться с помощью сложного (фигурного) синтаксиса переменных (т.е. $mongoId->{'$id'}).
Смотрите также
Документация MongoDB об » ObjectIds.
Содержание
- MongoId::__construct — Creates a new id
- MongoId::getHostname — Gets the hostname being used for this machine's ids
- MongoId::getInc — Gets the incremented value to create this id
- MongoId::getPID — Gets the process ID
- MongoId::getTimestamp — Gets the number of seconds since the epoch that this id was created
- MongoId::isValid — Check if a value is a valid ObjectId
- MongoId::__set_state — Create a dummy MongoId
- MongoId::__toString — Returns a hexidecimal representation of this id
Вернуться к: Types