Getting timestamp from mongodb id

How do I get the timestamp from the MongoDB id?


Solution 1:

The timestamp is contained in the first 4 bytes of a mongoDB id (see: http://www.mongodb.org/display/DOCS/Object+IDs).

So your timestamp is:

timestamp = _id.toString().substring(0,8)

and

date = new Date( parseInt( timestamp, 16 ) * 1000 )

Solution 2:

As of Mongo 2.2, this has changed (see: http://docs.mongodb.org/manual/core/object-id/)

You can do this all in one step inside of the mongo shell:

document._id.getTimestamp();

This will return a Date object.