Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MongoDB

Trích xuất tháng, ngày, năm từ ISODate trong MongoDB

Mongo shell cung cấp các phương thức như ISODate() để trả về ngày, dưới dạng chuỗi hoặc đối tượng Date. Constructor ISODate() trả về đối tượng Date sử dụng wrapper ISODate.

Tạo collection với trường dueDate:

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

Hiển thị tài liệu:

> db.demo548.find();

Kết quả:

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

Pipeline aggregate sử dụng các toán tử date trong $project để trích xuất thành phần ngày giờ:

> 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();

Kết quả:

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