Types
MongoId::__construct
Types
PHP Manual

# MongoId クラス

## 導入

データベース用に作成した一意な識別子です。オブジェクトをデータベースに挿入するときに _id フィールドを指定しなければ、_id フィールドが追加されてその値は MongoId のインスタンスとなります。 データの中に必然的に一意になるフィールド (ユーザ名やタイムスタンプなど) があるのなら、それを _id フィールドの代わりに使うといいでしょう。 この場合は MongoId で置き換えられることはありません。

MongoId クラスのインスタンスは、 リレーショナルデータベースにおける自動インクリメントの役割を果たします。 つまり、データ自体が必然的にもつ一意なキーがない場合にそれを提供するということです。 自動インクリメントは共有データベースではうまく動作しません。 次の番号を瞬時に見つけることが不可能だからです。 このクラスは、共有環境であっても一意となる値をすばやく生成することができます。

MongoId は 12 バイトです (文字列形式にすると、十六進 24 桁となります)。 最初の 4 バイトはタイムスタンプ、次の 3 バイトはクライアントマシンのホスト名のハッシュ、 その次の 2 バイトはスクリプトを動かしているプロセス ID の下位バイト、 そして最後の 3 バイトはインクリメントする値となります。

MongoId はシリアライズ/アンシリアライズすることができます。 シリアライズした形式は、文字列形式と似ています。

    C:7:"MongoId":24:{4af9f23d8ead0e1d32000000}

## クラス概要

MongoId
MongoId {
/* メソッド */
__construct ([ string `$id` = `NULL` ] )
publicstatic string getHostname ( void )
public int getTimestamp ( void )
publicstatic MongoId __set_state ( array `$props` )
public string __toString ( void )
}

## 参考

MongoDB コアドキュメントの » id を参照ください。

## 目次

- MongoId::__construct — 新しい ID を作成する
- MongoId::getHostname — Gets the hostname being used for this machine's ids
- MongoId::getTimestamp — Gets the number of seconds since the epoch that this id was created
- MongoId::__set_state — Create a dummy MongoId
- MongoId::__toString — この ID の 16 進表現を返す

Types
MongoId::__construct
Types
PHP Manual