[issue] 몽고DB 서버시간 설정

심지훈·2021년 11월 18일
0

issue

목록 보기
1/2

문제 상황

개발하면서 마지막으로 로그인 한 시간대를 저장 할 필요성을 느껴서 몽고 디비 도큐멘트에 필드를 추가하고 new Date를 했는데 계속 UTC 기준으로 시간이 설정 됬다.
moment 모듈을 사용해서 로컬 시간으로 변경 후 저장을 했는데도 몽고 디비 필드에는 계속 UTC시간이 저장이 되었었다.

원인

몽고디비 공식문서에서는 몽고디비에 Date 타입의 시간은 UTC 시간을 기본으로 한다고 했으며 어떠한 형태가 들어오더라도 UTC 시간으로 변경하여 저장한다고 했다. 그리고 디비에서 도큐먼트를 읽은 후 애플리케이션단에서 시차를 더하거나 빼서 사용 할 것을 권장하고 있다.

해결방안

우리가 개발하는 프로젝트의 특성을 먼저 고려해야했다. 현재까지는 로그인 한 날짜, 생성시간 등을 심도깊게 다룰 필요는 없다. 그래서 디비 깊숙히 건드리며 시간을 써서 ISODate 타입으로 로컬시간을 꼭 저장해야 할 필요는 없다.

그래서 new Date()를 하여 로컬 시간을 가져 온 후 string 타입으로 저장하기로 하였다.

profile
유연한 개발자

0개의 댓글