const classafBson::ObjectId

sys::Obj
  afBson::ObjectId

@Serializable { simple=true }

(BSON Type) - A globally unique identifier for MongoDB objects.

The ObjectID BSON type is a 12-byte value consisting of three different portions (fields):

  • a 4-byte value representing the seconds since the Unix epoch in the highest order bytes
  • a 5-byte random number unique to a machine and process
  • a 3-byte counter, starting with a random value
  4 byte timestamp    5 byte process unique   3 byte counter
|<----------------->|<---------------------->|<------------>|
[----|----|----|----|----|----|----|----|----|----|----|----]
0                   4                   8                   12

@See

fromStr

Source

static new fromStr(Str hex, Bool checked := true)

Create an ObjectId from a hex string.

fromStream

Source

static new fromStream(InStream in)

Reads an ObjectId from the given stream.

Note the stream is not closed.

inc

Source

const Int inc

A 3-byte counter value.

make

Source

new make()

Creates a new ObjectId.

pid

Source

const Int pid

A 5-byte process id that this instance was created under.

timestamp

Source

DateTime timestamp(TimeZone tz := TimeZone.cur())

Converts the ts field into a Fantom DateTime instance.

toBuf

Source

Buf toBuf()

Encodes this ObjectId into an 12 byte buffer. The returned buffer is positioned at the start and is ready to read.

toHex

Source

Str toHex()

Converts this instance into a 24 character hexadecimal string representation.

toJs

Source

Str toJs()

Returns a Mongo Shell compliant, JavaScript representation of the ObjectId. Example:

objectId.toJs  // --> ObjectId("57fe499fa81320d933000001")

See MongoDB Extended JSON.

toStr

Source

virtual override Str toStr()

Returns this ObjectId as a 24 character hexadecimal string.

ts

Source

const Int ts

The creation timestamp with a 1 second accuracy.

writeToStream

Source

OutStream writeToStream(OutStream out)

Writes this ObjectId to the given OutStream.