ในการจัดรูปแบบค่าวันที่ ให้ใช้ $dateToString ใน MongoDB ให้เราสร้างคอลเลกชันพร้อมเอกสาร -
> 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 -
> 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" }