Navigation
This version will reach end of life on Feb 2018. To upgrade, go to the Learn more about upgrading your version of MongoDB.

Date()

On this page

Date()

Returns a date either as a string or as a Date object.

  • Date() returns the current date as a string in the mongo shell.
  • new Date() returns the current date as a Date object. The mongo shell wraps the Date object with the ISODate helper. The ISODate is in UTC.

You can specify a particular date by passing to the Date() method a datetime string. For example:

  • new Date("<YYYY-mm-dd>") which returns the ISODate with the specified date.
  • new Date("<YYYY-mm-ddTHH:MM:ss>") which specifies the datetime in local datetime and returns the ISODate with the specified datetime in UTC.
  • new Date("<YYYY-mm-ddTHH:MM:ssZ>") which specifies the datetime in UTC and returns the ISODate with the specified datetime in UTC.

Behavior

Internally, Date objects are stored as a 64 bit integer representing the number of milliseconds since the Unix epoch (Jan 1, 1970), which results in a representable date range of about 290 millions years into the past and future.

Examples

Use Date in a Query

If no document with _id equal to 1 exists in the products collection, the following operation inserts a document with the field dateAdded set to the current date:

db.products.update(
   { _id: 1 },
   {
     $set: { item: "apple" },
     $setOnInsert: { dateAdded: new Date() }
   },
   { upsert: true }
)

See also

$currentDate

Return Date as a String

To return the date as a string, use the Date() method, as in the following example:

var myDateString = Date();

Return Date as Date Object

The mongo shell wrap objects of Date type with the ISODate helper; however, the objects remain of type Date.

The following example uses new Date() to return Date object with the specified UTC datetime.

var myDate = new Date("2016-05-18T16:00:00Z");