Get component of Date / ISODate in mongo

Saint picture Saint · May 2, 2012 · Viewed 15.7k times · Source

How to get a component like minute from ISODate stored in MongoCollection?

Answer

Eve Freeman picture Eve Freeman · May 2, 2012

Since you don't specify a language, I'm going to assume you mean JavaScript, as in the shell.

One of the nice features of the shell is it has tab completion. So you can do something like this:

> db.test.insert({x:new Date()});
> var doc = db.test.findOne();
> doc
{
"_id" : ObjectId("4fa131851932655dc45027a9"),
"x" : ISODate("2012-05-02T13:07:17.012Z")
}
> doc.x
ISODate("2012-05-02T13:07:17.012Z")
> doc.x.<TAB><TAB>
doc.x.constructor            doc.x.getSeconds(            doc.x.getUTCMinutes( doc.x.setHours(              doc.x.setUTCHours(           doc.x.toLocaleDateString(
doc.x.getDate(               doc.x.getTime(               doc.x.getUTCMonth(           doc.x.setMilliseconds(       doc.x.setUTCMilliseconds(    doc.x.toLocaleString(
doc.x.getDay(                doc.x.getTimezoneOffset(     doc.x.getUTCSeconds(         doc.x.setMinutes(            doc.x.setUTCMinutes(         doc.x.toLocaleTimeString(
doc.x.getFullYear(           doc.x.getUTCDate(            doc.x.getYear(               doc.x.setMonth(              doc.x.setUTCMonth(           doc.x.toString(
doc.x.getHours(              doc.x.getUTCDay(             doc.x.hasOwnProperty(        doc.x.setSeconds(            doc.x.setUTCSeconds(         doc.x.toTimeString(
doc.x.getMilliseconds(       doc.x.getUTCFullYear(        doc.x.propertyIsEnumerable(  doc.x.setTime(               doc.x.setYear(               doc.x.toUTCString(
doc.x.getMinutes(            doc.x.getUTCHours(           doc.x.setDate(               doc.x.setUTCDate(            doc.x.toDateString(          doc.x.tojson(
doc.x.getMonth(              doc.x.getUTCMilliseconds(    doc.x.setFullYear(           doc.x.setUTCFullYear(        doc.x.toGMTString(           doc.x.valueOf(

What you want is probably:

> doc.x.getSeconds();
17
> doc.x.getMinutes();
7
> doc.x.getHours();
9
> doc.x.getDate();
2
> doc.x.getMonth();
4
> doc.x.getFullYear();
2012