Why does Mongo store my date as a string?

From Node.js I do

var startDate = new Date('2012-06-06');

Then I save it using mongodb native. It is stored as follows

'2012-06-05T14:00:00.000Z'

MongoDB stores dates in UTC and not as strings. Check the BSON specs.

http://bsonspec.org/#/specification

What you see is the JSON representation of a date: new Date('2012-06-06').toJSON();

https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Date/toJSON

It's just how Dates will be displayed. (I thinks it is some kind of ISO standard code.) Internally it is save in a way more efficient way.