[NODE] Mongoose 저장시 한국 시간으로 저장하기

서수·2022년 12월 11일
1

Mongoose

목록 보기
1/1
post-thumbnail

방법 소개

Mongoose를 사용하면서 createdAt이나 updatedAt 등, 시간을 저장하는데 항상 알아보기 힘든 표준시로 저장이 되어서 사용하기 어렵거나 알아보기 힘들 때가 많아 사실상 이용하기 힘들거나 엄두가 나지 않았던 부분입니다.

이렇게 저장이 되어지고 보여지니 말이죠.

이번에 시간제한을 구현해보려 하는데 시간을 건드리게 되면서 한국 표준시간으로 저장이 되게끔 설정 해주는 방법을 알아보겠습니다.

구현 방법 설명

우선 필요한 모듈을 설치해 줍니다.

$npm install moment

그리고 Mongoose 의 Schema 부분을 설정해 줍니다. 보통 schema 에 시간을 저장하는 부분은

  createdAt: { 
    type: Date,
    default : Date.now
  },

이렇게 설정이 되어 있을겁니다.

여기서 type 을 String으로 바꿔줍니다.

  createdAt: { 
    type: String, 
    default: Date.now 
  },

그리고 CRUD에서 create 하는 곳에 가서 다음과 같은 코드를 작성합니다.

const moment = require('moment')

const date = moment().format('YYYY-MM-DD HH:mm:ss')

moment 모듈을 불러옵니다. 그리고 아래 코드는 "연도-월-일 시간-분-초"형식을 담아준 것이다.
이 상태에서 console.log(date)를 찍고 실행해보면

const moment = require('moment')

const date = moment().format('YYYY-MM-DD HH:mm:ss')
console.log(date)

2022-11-29 17:09:08 //console창 결과값

이런 식으로 콘솔창에 바로 찍히는 모습을 볼 수가 있다.

그리고 create 부분에 저 date변수를 넣어서 저장해준다.

await Users.create({
userId,
nickName,
password,
phoneNumber,
address, 
createdAt: date, 
updatedAt: date
});

그러면 이렇게 저장된 것을 볼 수가 있다.

profile
패션디자인과 출신 비전공자가 개발자로 성장하려 만든 노트

0개의 댓글