Computer >> Máy Tính >  >> Lập trình >> MongoDB

Tìm nạp tháng, ngày, năm, v.v. từ ISODate trong MongoDB?


Mongo shell cung cấp nhiều phương thức khác nhau như ISODate () để trả về ngày tháng, dưới dạng một chuỗi hoặc dưới dạng đối tượng Ngày. Hàm khởi tạo ISODate () trả về đối tượng Ngày bằng cách sử dụng trình bao bọc ISODate ().

Hãy để chúng tôi tạo một bộ sưu tập với các tài liệu -

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

Hiển thị tất cả các tài liệu từ một bộ sưu tập với sự trợ giúp của phương thức find () -

> db.demo548.find();

Điều này sẽ tạo ra kết quả sau -

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

Sau đây là truy vấn hiển thị, tháng, ngày, tuần, năm, v.v. từ 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();

Điều này sẽ tạo ra kết quả sau -

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