MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Làm thế nào để đối phó với vấn đề múi giờ khi lưu trữ ngày trong utc bằng mongod?

Ngoài SERVER-6310 được Matt Johnson đề cập, một giải pháp khác là sử dụng $project toán tử để thêm hoặc bớt từ múi giờ UTC để "chuyển thời gian" vào múi giờ địa phương chính xác. Hóa ra bạn có thể cộng hoặc trừ thời gian tính bằng mili giây.

Ví dụ:giả sử tôi có trường Ngày được gọi là orderTime . Tôi muốn truy vấn EDT. Đó là -4 giờ từ UTC. Đó là 4 * 60 * 60 * 1000 mili giây.

Vì vậy, sau đó tôi sẽ viết phép chiếu sau để lấy day_ordered theo giờ địa phương cho tất cả hồ sơ của tôi:

db.table.aggregate( 
    { $project : { orderTimeLocal : { $subtract : [ "$orderTime", 14400000] } } },
    { $project : { day_ordered : { $dayOfYear : "$orderTimeLocal" } } })


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Không thể khởi động mongod.service:Không tìm thấy đơn vị mongod.service

  2. Nối các giá trị chuỗi trong mảng trong một trường duy nhất trong MongoDB

  3. Ưu điểm của việc sử dụng cơ sở dữ liệu không có lược đồ như MongoDB so với cơ sở dữ liệu quan hệ là gì?

  4. Tôi có nên sử dụng tùy chọn allowDiskUse trong môi trường sản phẩm không?

  5. MongoDB và khóa chính tổng hợp