몽고DB에서의 타임존 시간 값은 UTC로 고정이 되어 있다.
그렇기 때문에 한국시간과의 차이가 항상 9시간 존재하였으며, 특히 서버시간이 반영되지 않아서 조건을 주고 날짜를 가지고 검색하거나 집계하는 동안에 데이터가 빠지거나 더해지는 현상이 발생하고는 한다.
즉, Date형 자료형을 가지고 집계, 검색, 합계 등의 행위를 하는경우에 9시간 차이에 의해서 원치않는 값을 보고는 한다.
https://docs.mongodb.com/v3.2/tutorial/model-time-data/
이를 극복하기 위해서는 대략적으로 3가지 방법이 존재한다.
1. 시간 값을(Date) 문자열로 집어넣고 조회, 집계, 검색하는 기능으로 수정한다.
2. 시간 값을(Date) 어플리케이션에서 9시간 빼고 조회, 집계, 검색 하는 기능으로 수정한다.
3. 서버를 구동하는 경우 옵션을 주어서 로컬시간을 바라보게한다.
1번과 2번은 몽고db를 사용하는 앱에서 해야되는 행위이고, 3번은 서버가 하는 행위 이다.
3번의 예를들면, 몽고db의 옵션을 입력해서보면 잘 나와 있다.
실제 몽고db사이트를 방문해도 해당 옵션을 주는법에 대해서 자세히 나와 있다.
https://docs.mongodb.com/manual/reference/program/mongos/
해당 옵션을 주면 소스코드를 굳이 수정하지 않아도 된다.
뭐...데이터 베이스를 껏다 킬 수 없는 상황이면 어쩔수 없이 앱이 수정되하 하겠지만 말이다.
반응형
'몽고DB' 카테고리의 다른 글
몽고DB csv 출력, mongodb export csv (0) | 2020.11.25 |
---|---|
몽고DB에서의 Aggregate 사용시 lookup과 인덱스(index) (2) | 2020.06.23 |
몽고db 특징 간단 정리 (버전은 3.x.x 이하) (0) | 2019.07.31 |
몽고db 백업, 복원하기 (0) | 2019.07.01 |
Java를 활용한 MongoDB 대용량 집계, 억단위 (0) | 2019.06.28 |
* 위 에니메이션은 Html의 캔버스(canvas)기반으로 동작하는 기능 입니다. Html 캔버스 튜토리얼 도 한번 살펴보세요~ :)
* 직접 만든 Html 캔버스 애니메이션 도 한번 살펴보세요~ :)
댓글