Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> MongoDB

ดึงเดือน วัน ปี ฯลฯ จาก ISODate ใน MongoDB


Mongo shell มีเมธอดต่างๆ เช่น ISODate() เพื่อคืนค่าวันที่ ไม่ว่าจะเป็น string หรือ Date object ISODate() constructor จะคืนค่า Date object โดยใช้ ISODate() wrapper มาสร้างคอลเลกชันพร้อมเอกสารกันก่อน

> db.demo548.insertOne({"dueDate":new ISODate("2020-04-09 12:12:40")});{    "acknowledged" : true,    "insertedId" : ObjectId("5e8e30499e5f92834d7f05de") }

แสดงเอกสารทั้งหมดจากคอลเลกชันด้วยเมธอด find()

> db.demo548.find();

จะได้ผลลัพธ์ดังนี้

{ "_id" : ObjectId("5e8e30499e5f92834d7f05de"), "dueDate" : ISODate("2020-04- 09T12:12:40Z") }

คำสั่งสำหรับแสดง เดือน วัน สัปดาห์ ปี ฯลฯ จาก ISODate

> db.demo548.aggregate( [ { $project: { Year: { $year: "$dueDate" }, Month: { $month: "$dueDate" }, Day: { $dayOfMonth: "$dueDate" }, Hour: { $hour: "$dueDate" }, Minutes: { $minute: "$dueDate" }, Seconds: { $second: "$dueDate" }, Milliseconds: { $millisecond: "$dueDate" }, DayOfYear: { $dayOfYear: "$dueDate" }, DayOfWeek: { $dayOfWeek: "$dueDate" }, Week: { $week: "$dueDate" } } } ] ).pretty();

จะได้ผลลัพธ์ดังนี้

{    "_id" : ObjectId("5e8e30499e5f92834d7f05de"),    "Year" : 2020,    "Month" : 4,    "Day" : 9,    "Hour" : 12,    "Minutes" : 12,    "Seconds" : 40,    "Milliseconds" : 0,    "DayOfYear" : 100,    "DayOfWeek" : 5,    "Week" : 14 }