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

ดึงข้อมูลเดือน วัน ปี ฯลฯ จาก ISODate ใน MongoDB หรือไม่


mongo shell มีเมธอดต่างๆ เช่น ISODate() เพื่อส่งกลับวันที่ ไม่ว่าจะเป็นสตริงหรือออบเจกต์ Date คอนสตรัคเตอร์ ISODate() ส่งคืนอ็อบเจ็กต์ Date โดยใช้แรปเปอร์ ISODate()

ให้เราสร้างคอลเลกชันที่มีเอกสาร -

> 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
}