php8.5
Home/ Manual/ mongodb / bson/ The MongoDB\BSON\ObjectId class

The MongoDB\BSON\ObjectId class

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:

Intro

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 extension 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

class MongoDB\BSON\ObjectId { }

Changelog

VersionDescription
PECL mongodb 1.12.0Implements Stringable for PHP 8.0+.
PECL mongodb 1.3.0Renamed from MongoDB\BSON\ObjectID to MongoDB\BSON\ObjectId.Implements MongoDB\BSON\ObjectIdInterface.
PECL mongodb 1.2.0Implements Serializable and JsonSerializable.

Objectid

In this section

Source: reference/mongodb/bson/objectid.xml · from the official PHP manual (php/doc-en)