본문 바로가기
블로그 이미지

방문해 주셔서 감사합니다! 항상 행복하세요!

  
   - 문의사항은 메일 또는 댓글로 언제든 연락주세요.
   - "해줘","답 내놔" 같은 질문은 답변드리지 않습니다.
   - 메일주소 : lts06069@naver.com


몽고DB

MongoDB Timezone (MongoDB 시간, MongoDB TimeStampFormat)

야근없는 행복한 삶을 위해 ~
by 마샤와 곰 2019. 9. 25.

 

 

몽고DB에서의 타임존 시간 값은 UTC로 고정이 되어 있다.

그렇기 때문에 한국시간과의 차이가 항상 9시간 존재하였으며, 특히 서버시간이 반영되지 않아서 조건을 주고 날짜를 가지고 검색하거나 집계하는 동안에 데이터가 빠지거나 더해지는 현상이 발생하고는 한다.

즉, Date형 자료형을 가지고 집계, 검색, 합계 등의 행위를 하는경우에 9시간 차이에 의해서 원치않는 값을 보고는 한다.

https://docs.mongodb.com/v3.2/tutorial/model-time-data/

 

Model Time Data — MongoDB Manual

Overview MongoDB stores times in UTC by default, and will convert any local time representations into this form. Applications that must operate or report on some unmodified local time value may store the time zone alongside the UTC timestamp, and compute t

docs.mongodb.com

 

이를 극복하기 위해서는 대략적으로 3가지 방법이 존재한다.

 1. 시간 값을(Date) 문자열로 집어넣고 조회, 집계, 검색하는 기능으로 수정한다.

 2. 시간 값을(Date) 어플리케이션에서 9시간 빼고 조회, 집계, 검색 하는 기능으로 수정한다.

 3. 서버를 구동하는 경우 옵션을 주어서 로컬시간을 바라보게한다.

 

1번과 2번은 몽고db를 사용하는 앱에서 해야되는 행위이고, 3번은 서버가 하는 행위 이다.

3번의 예를들면, 몽고db의 옵션을 입력해서보면 잘 나와 있다.

time과 관련된 옵션을 검색 한 모습

 

실제 몽고db사이트를 방문해도 해당 옵션을 주는법에 대해서 자세히 나와 있다.

옵션을 저렇게 주랩니다..

https://docs.mongodb.com/manual/reference/program/mongos/

 

mongos — MongoDB Manual

Bypasses the validation checks for TLS/SSL certificates on other servers in the cluster and allows the use of invalid certificates to connect. Note Starting in MongoDB 4.0, if you specify --sslAllowInvalidCertificates or net.ssl.allowInvalidCertificates: t

docs.mongodb.com

 

해당 옵션을 주면 소스코드를 굳이 수정하지 않아도 된다.

뭐...데이터 베이스를 껏다 킬 수 없는 상황이면 어쩔수 없이 앱이 수정되하 하겠지만 말이다.

반응형
* 위 에니메이션은 Html의 캔버스(canvas)기반으로 동작하는 기능 입니다. Html 캔버스 튜토리얼 도 한번 살펴보세요~ :)
* 직접 만든 Html 캔버스 애니메이션 도 한번 살펴보세요~ :)

댓글