Là một bản cập nhật, MongoDB 3.6 có một tham số múi giờ mới để thao tác ngày trong khuôn khổ tổng hợp. Hầu hết các toán tử liên quan đến ngày tháng đều chấp nhận tham số tùy chọn này, hãy xem $ giờ để biết một ví dụ.
Ví dụ:nếu chúng tôi có một tài liệu trong đó ngày chính xác là năm mới theo giờ UTC:
> db.test.find()
{"_id": 1, "dt": ISODate("2018-01-01T00:00:00Z")}
Chúng tôi có thể hiển thị ngày ở múi giờ New York:
> db.test.aggregate([
... {$project:{
... date:{$dayOfMonth:{date:'$dt',timezone:'America/New_York'}},
... month:{$month:{date:'$dt',timezone:'America/New_York'}},
... year:{$year:{date:'$dt',timezone:'America/New_York'}},
... hour:{$hour:{date:'$dt',timezone:'America/New_York'}}
... }}
... ])
{ "_id": 1, "date": 31, "month": 12, "year": 2017, "hour": 19 }
Chúng tôi cũng có thể hiển thị ngày ở múi giờ Sydney:
> db.test.aggregate([
... {$project:{
... date:{$dayOfMonth:{date:'$dt',timezone:'Australia/Sydney'}},
... month:{$month:{date:'$dt',timezone:'Australia/Sydney'}},
... year:{$year:{date:'$dt',timezone:'Australia/Sydney'}},
... hour:{$hour:{date:'$dt',timezone:'Australia/Sydney'}}
... }}
... ])
{ "_id": 1, "date": 1, "month": 1, "year": 2018, "hour": 11 }
Mô tả múi giờ đang sử dụng chuỗi Định danh múi giờ Olson chuẩn.