如何在 MongoDB shell 中格式化日期值?
mongodbdatabasebig data analytics更新于 2026/1/7 4:07:17
要格式化日期值,请在 MongoDB 中使用 $dateToString。让我们创建一个包含文档的集合。 −
> db.demo480.insertOne({id:1,"DueDate":new ISODate("2020-01-10")});{
"acknowledged" : true,
"insertedId" : ObjectId("5e821056b0f3fa88e2279098")
}
> db.demo480.insertOne({id:1,"DueDate":new ISODate("2017-12-21")});{
"acknowledged" : true,
"insertedId" : ObjectId("5e821062b0f3fa88e2279099")
}
> db.demo480.insertOne({id:1,"DueDate":new ISODate("2019-10-12")});{
"acknowledged" : true,
"insertedId" : ObjectId("5e82106ab0f3fa88e227909a")
}
> db.demo480.insertOne({id:1,"DueDate":new ISODate("2019-12-01")});{
"acknowledged" : true,
"insertedId" : ObjectId("5e821078b0f3fa88e227909b")
}
借助 find() 方法显示集合中的所有文档 −
> db.demo480.find();
这将产生以下输出 −
{ "_id" : ObjectId("5e821056b0f3fa88e2279098"), "id" : 1, "DueDate" : ISODate("2020-01-
10T00:00:00Z") }
{ "_id" : ObjectId("5e821062b0f3fa88e2279099"), "id" : 1, "DueDate" : ISODate("2017-12-
21T00:00:00Z") }
{ "_id" : ObjectId("5e82106ab0f3fa88e227909a"), "id" : 1, "DueDate" : ISODate("2019-10-
12T00:00:00Z") }
{ "_id" : ObjectId("5e821078b0f3fa88e227909b"), "id" : 1, "DueDate" : ISODate("2019-12-
01T00:00:00Z") }
以下是在 MongoDB shell 中格式化日期值的查询 −
> db.demo480.aggregate([
... { "$match": { "id" : 1 } },
... { "$sort": { "DueDate": -1 } },
... {
... "$project": {
... "_id": 0,
... "DueDate": {
... "$dateToString": {
... "format": "%Y-%m-%d %H-%M",
... "date": "$DueDate"
... }
... }
... }
... }
... ])
这将产生以下输出 −
{ "DueDate" : "2020-01-10 00-00" }
{ "DueDate" : "2019-12-01 00-00" }
{ "DueDate" : "2019-10-12 00-00" }
{ "DueDate" : "2017-12-21 00-00" }

