# A classe MongoDB\BSON\ObjectId

(mongodb >=1.0.0)

## Introdução

Tipo BSON para um » ObjectId. O valor consiste em 12 bytes, onde os primeiros quatro bytes são um timestamp que reflete a criação do ObjectId. Especificamente, o valor consiste em:

- um valor de 4 bytes que representa os segundos desde a época Unix,
- um número aleatório de 5 bytes único para um equipamento e um processo, e
- um contador de 3 bytes, começando com um valor aleatório.

No MongoDB, cada documento armazenado em uma coleção requer um campo `_id` exclusivo que atua como chave primária. Se um documento inserido omitir o campo `_id`, a extensão gera automaticamente um ObjectId para o campo `_id`.

Usar ObjectIds para o campo `_id` fornece os seguintes benefícios adicionais:

- O horário de criação do ObjectId pode ser acessado usando o método MongoDB\BSON\ObjectId::getTimestamp().
- A classificação em um campo `_id` que armazena valores ObjectId é aproximadamente equivalente à classificação por horário de criação.

## Resumo da classe

final class MongoDB\BSON\ObjectId implements MongoDB\BSON\ObjectIdInterface, MongoDB\BSON\Type, JsonSerializable, Stringable {
/* Métodos */
final public function __construct(?string `$id` = `null`)
final public function getTimestamp(): int
final public function jsonSerialize(): mixed
final public function __toString(): string
}

## Registro de Alterações

Versão | Descrição
--- | ---
PECL mongodb 2.0.0 | Esta classe não implementa mais a interface Serializable.
PECL mongodb 1.12.0 | Implementa Stringable para PHP 8.0+.
PECL mongodb 1.3.0 | Renomeado de `MongoDB\BSON\ObjectID` para `MongoDB\BSON\ObjectId`. Implementa MongoDB\BSON\ObjectIdInterface.
PECL mongodb 1.2.0 | Implementa Serializable e JsonSerializable.

## Índice

- MongoDB\BSON\ObjectId::__construct — Constrói um novo ObjectId
- MongoDB\BSON\ObjectId::getTimestamp — Retorna o componente timestamp deste ObjectId
- MongoDB\BSON\ObjectId::jsonSerialize — Retorna uma representação que pode ser convertida para JSON
- MongoDB\BSON\ObjectId::__toString — Retorna a representação hexidecimal deste ObjectId

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open