Change date format in MongoDB

To change date format in MongoDB, you can manipulate date strings using JavaScript variables and string methods within the MongoDB shell, or use MongoDB's date aggregation operators for more complex transformations.

Syntax

// JavaScript string manipulation
var inputDate = "01-10-2019";
var formatDate = inputDate.split(/-|\//);
var outputString = formatDate[2] + '-' + formatDate[0] + '-' + formatDate[1];

// MongoDB aggregation for date formatting
db.collection.aggregate([
    { $project: { 
        formattedDate: { $dateToString: { format: "%Y-%m-%d", date: "$dateField" } } 
    }}
]);

Method 1: JavaScript String Manipulation

For simple date string transformations, use JavaScript variables in the MongoDB shell ?

var inputDate = "01-10-2019";
var formatDate = inputDate.split(/-|\//);
var outputString = formatDate[2] + '-' + formatDate[0] + '-' + formatDate[1];
print(outputString);
2019-01-10

Method 2: MongoDB Date Aggregation

Sample Data

db.events.insertMany([
    { name: "Conference", eventDate: new Date("2019-10-01") },
    { name: "Workshop", eventDate: new Date("2019-12-15") }
]);

Format Date to String

db.events.aggregate([
    {
        $project: {
            name: 1,
            formattedDate: {
                $dateToString: {
                    format: "%d-%m-%Y",
                    date: "$eventDate"
                }
            }
        }
    }
]);
{ "_id": ObjectId("..."), "name": "Conference", "formattedDate": "01-10-2019" }
{ "_id": ObjectId("..."), "name": "Workshop", "formattedDate": "15-12-2019" }

Common Date Format Patterns

Format String Output Example
%Y-%m-%d 2019-10-01
%d/%m/%Y 01/10/2019
%B %d, %Y October 01, 2019

Conclusion

Use JavaScript string methods for simple date string manipulations or MongoDB's $dateToString aggregation operator for formatting actual Date objects. The aggregation approach is more robust for database operations involving date fields.

Updated on: 2026-03-15T03:18:19+05:30

517 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements