データベース用に作成した一意な識別子です。オブジェクトをデータベースに挿入するときに _id フィールドを指定しなければ、_id フィールドが追加されてその値は MongoId のインスタンスとなります。 データの中に必然的に一意になるフィールド (ユーザ名やタイムスタンプなど) があるのなら、それを _id フィールドの代わりに使うといいでしょう。 この場合は MongoId で置き換えられることはありません。
MongoId クラスのインスタンスは、 リレーショナルデータベースにおける自動インクリメントの役割を果たします。 つまり、データ自体が必然的にもつ一意なキーがない場合にそれを提供するということです。 自動インクリメントは共有データベースではうまく動作しません。 次の番号を瞬時に見つけることが不可能だからです。 このクラスは、共有環境であっても一意となる値をすばやく生成することができます。
MongoId は 12 バイトです (文字列形式にすると、十六進 24 桁となります)。 最初の 4 バイトはタイムスタンプ、次の 3 バイトはクライアントマシンのホスト名のハッシュ、 その次の 2 バイトはスクリプトを動かしているプロセス ID の下位バイト、 そして最後の 3 バイトはインクリメントする値となります。
MongoId はシリアライズ/アンシリアライズすることができます。 シリアライズした形式は、文字列形式と似ています。
C:7:"MongoId":24:{4af9f23d8ead0e1d32000000}
MongoDB コアドキュメントの » id を参照ください。