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
_id
field 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