$toDate - Amazon DocumentDB
Services or capabilities described in Amazon Web Services documentation might vary by Region. To see the differences applicable to the China Regions, see Getting Started with Amazon Web Services in China (PDF).

$toDate

New from version 4.0

The $toDate aggregation operator in Amazon DocumentDB is used to convert a date or date and time string to a BSON Date type. This is the inverse operation of the $dateToString operator.

Parameters

  • dateString: A string representation of a date or date and time to be converted to a BSON Date type.

  • format: (optional) A string that specifies the format of the dateString. If not provided, the operator will attempt to parse the dateString in various standard date and time formats.

  • timezone: (optional) A string representing the time zone to use for the conversion. If not provided, the local time zone is used.

Example (MongoDB Shell)

The following example demonstrates how to use the $toDate operator to convert a date string to a BSON Date type.

Create sample documents

db.events.insertMany([ { _id: 1, eventName: "Mission Start", eventTime: "2023-04-15T10:30:00Z" }, { _id: 2, eventName: "Checkpoint Reached", eventTime: "2023-04-15T11:15:00Z" }, { _id: 3, eventName: "Mission End", eventTime: "2023-04-15T12:00:00Z" } ]);

Query example

db.events.aggregate([ { $project: { eventName: 1, eventTimeDate: { $toDate: "$eventTime" } } } ]);

Output

[ { "_id": 1, "eventName": "Mission Start", "eventTimeDate": ISODate("2023-04-15T10:30:00Z") }, { "_id": 2, "eventName": "Checkpoint Reached", "eventTimeDate": ISODate("2023-04-15T11:15:00Z") }, { "_id": 3, "eventName": "Mission End", "eventTimeDate": ISODate("2023-04-15T12:00:00Z") } ]

Code examples

To view a code example for using the $toDate command, choose the tab for the language that you want to use:

Node.js
const { MongoClient } = require('mongodb'); async function example() { const client = await MongoClient.connect('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false'); const db = client.db('test'); const collection = db.collection('events'); const result = await collection.aggregate([ { $project: { eventName: 1, eventTimeDate: { $toDate: '$eventTime' } } } ]).toArray(); console.log(result); client.close(); } example();
Python
from pymongo import MongoClient def example(): client = MongoClient('mongodb://<username>:<password>@<cluster-endpoint>:27017/?tls=true&tlsCAFile=global-bundle.pem&replicaSet=rs0&readPreference=secondaryPreferred&retryWrites=false') db = client['test'] collection = db['events'] result = list(collection.aggregate([ { '$project': { 'eventName': 1, 'eventTimeDate': { '$toDate': '$eventTime' } } } ])) print(result) client.close() example()