PHP Manual

MongoId クラス

(PECL mongo >=0.8.0)

警告

このクラスを定義している拡張モジュールは非推奨です。 かわりに MongoDB 拡張モジュールを使うべきです。 このクラスの代替として、以下が使えます。

導入

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

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

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

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

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

クラス概要

MongoId {
public string $$id = NULL ;
/* メソッド */
public __construct ([ string|MongoId $id = NULL ] )
public static string getHostname ( void )
public int getInc ( void )
public int getPID ( void )
public int getTimestamp ( void )
public static bool isValid ( mixed $value )
public static MongoId __set_state ( array $props )
public string __toString ( void )
}

フィールド

$id
このフィールドには、このオブジェクトの文字列表現が含まれます。

注意: このプロパティの名前は $ で始まります。アクセスするには、 複雑な構文 ($mongoId->{'$id'} 形式) を利用します。

参考

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

目次


PHP Manual