MongoDB の各 Document(RDB でいうレコード)は、それぞれ _id
というプライマリキーとなるフィールドを持っています。
この値は、何も指定しないと、自動的に ObjectId
オブジェクトが生成されて設定されます。
この ObjectId
オブジェクトは BSON 形式 のオブジェクトで、内部的に以下のような値を保持しています。
フィールド | サイズ | 内容 |
---|---|---|
Timestamp | 4 bytes | 生成時間(秒) |
Machine ID | 3 bytes | マシン固有値 |
PID | 2 bytes | プロセス ID |
Counter | 3 bytes | ランダム値から始まってインクリメントされる |
ObjectId
オブジェクト内に含まれているタイムスタンプは、getTimestamp()
メソッドによって取得できます。
これを利用すると、Document の _id
フィールドから、その Document が生成された時間を調べることができます。