The MongoDB\BSON\ObjectId class
(mongodb >=1.0.0)
Introduction
BSON type for an » ObjectId. The value consists of 12 bytes, where the first four bytes are a timestamp that reflect the ObjectId's creation. Specifically, the value consists of:
- a 4-byte value representing the seconds since the Unix epoch,
- a 5-byte random number unique to a machine and process, and
- a 3-byte counter, starting with a random value.
In MongoDB, each document stored in a collection requires a unique
_id field that acts as a primary key. If an inserted
document omits the _id field, the driver automatically
generates an ObjectId for the _id field.
Using ObjectIds for the _id field provides the following
additional benefits:
- The creation time of the ObjectId may be accessed using the MongoDB\BSON\ObjectId::getTimestamp() method.
- Sorting on an
_idfield that stores ObjectId values is roughly equivalent to sorting by creation time.
Class synopsis
Changelog
| Version | Description |
|---|---|
| PECL mongodb 1.12.0 | Implements Stringable for PHP 8.0+. |
| PECL mongodb 1.3.0 |
Renamed from Implements MongoDB\BSON\ObjectIdInterface. |
| PECL mongodb 1.2.0 | Implements Serializable and JsonSerializable. |
Table of Contents
- MongoDB\BSON\ObjectId::__construct — Construct a new ObjectId
- MongoDB\BSON\ObjectId::getTimestamp — Returns the timestamp component of this ObjectId
- MongoDB\BSON\ObjectId::jsonSerialize — Returns a representation that can be converted to JSON
- MongoDB\BSON\ObjectId::serialize — Serialize an ObjectId
- MongoDB\BSON\ObjectId::__toString — Returns the hexidecimal representation of this ObjectId
- MongoDB\BSON\ObjectId::unserialize — Unserialize an ObjectId

