Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
-
Economics & Finance
Selected Reading
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.
Advertisements
