# La clase MongoDB\BSON\ObjectId

(mongodb >=1.0.0)

## Introducción

Tipo BSON para un » ObjectId. El valor se compone de 12 bytes, donde los primeros cuatro bytes son un timestamp que refleja la creación del ObjectId. Más precisamente, el valor se compone de :

- un valor de 4 bytes representando los segundos desde la época UNIX,
- un número aleatorio de 5 bytes único a una máquina y un proceso, y
- un contador de 3 bytes, comenzando por un valor aleatorio.

En MongoDB, cada documento almacenado en una colección requiere un campo `_id` único que actúa como clave primaria. Si un documento insertado omite el campo `_id`, la extensión genera automáticamente un ObjectId para el campo `_id`.

El uso de ObjectId para el campo `_id` proporciona las siguientes ventajas adicionales:

- La hora de creación del ObjectId puede ser accedida utilizando el método MongoDB\BSON\ObjectId::getTimestamp().
- La ordenación en un campo `_id` que almacena valores ObjectId equivale aproximadamente a la ordenación por fecha de creación.

## Sinopsis de la Clase

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
}

## Historial de cambios

Versión | Descripción
--- | ---
PECL mongodb 2.0.0 | Esta clase ya no implementa la interfaz Serializable.
PECL mongodb 1.12.0 | Implementa Stringable para PHP 8.0+.
PECL mongodb 1.3.0 | Renombrado de `MongoDB\BSON\ObjectID` a `MongoDB\BSON\ObjectId`. Implementa MongoDB\BSON\ObjectIdInterface.
PECL mongodb 1.2.0 | Implementa Serializable y JsonSerializable.

## Tabla de contenidos

- MongoDB\BSON\ObjectId::__construct — Construye un nuevo ObjectId
- MongoDB\BSON\ObjectId::getTimestamp — Devuelve el componente de timestamp de ObjectId
- MongoDB\BSON\ObjectId::jsonSerialize — Devuelve una representación que puede ser convertida en JSON
- MongoDB\BSON\ObjectId::__toString — Devuelve la representación hexadecimal de este ObjectId

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