MongoDB\BSON
PHP Manual

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 3-byte machine identifier,
  • a 2-byte process ID, 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

MongoDB\BSON\ObjectID implements MongoDB\BSON\Type , Serializable , JsonSerializable {
/* Methods */
final public __construct ([ string $id ] )
final public integer getTimestamp ( void )
final public mixed jsonSerialize ( void )
final public string serialize ( void )
final public string __toString ( void )
final public void unserialize ( string $serialized )
}

Changelog

Version Description
1.2.0 Implements Serializable and JsonSerializable.

Table of Contents


MongoDB\BSON
PHP Manual