-
mongodb expire data설치&설정 관련 2019. 11. 22. 04:31728x90
mongodb expire data
로그인 처리를 위해서 특정 시간동안 데이터를 저장할 필요가 생겼다.
기존에 사용경험이 있었던 Redis를 이용할지를 고민하던 중에, 혹시 요즘 많이 쓰고 있는 Mongodb에도 혹시 특정 시간동안만 저장하는 기능이 있을까 해서 찾아보았다.
검색 키워드로는 "mongodb expire data"를 이용했고 바로 첫번째로 검색 되었다.
사용방법은 인덱스를 생성할때 날짜 필드에 expireAfterSeconds 를 추가하면된다.
# 1시간뒤에 삭제되는 데이터 구조 생성 db.log_events.createIndex( { "createdAt": 1 }, { expireAfterSeconds: 3600 } ); # 사용법 db.log_events.insert( { "createdAt": new Date(), "logEvent": 2, "logMessage": "Success!" } );
createAt 이라는 필드 명에는 날짜 형식이 들어가고 해당 날짜를 기준으로 expireAfterSeconds 의 초 만큼 지나가면 데이터가 삭제 된다.
nodejs에서 mongodb를 사용할때는 다음과 같이 스키마 구조를 생성하면 된다.
new Schema({ createdAt: { type: Date, expires: 3600 }});
참고 자료
728x90'설치&설정 관련' 카테고리의 다른 글
aerobase 설치 삽질기 공유 (0) 2020.06.16 git 메시지 작성 도움말 (0) 2020.06.13 AWS EC2 서버 DISK 크기 늘리기 (0) 2019.11.21 Nginx source를 이용한 compile 설치 (0) 2019.07.05 pupperteer를 이용한 화면 캡처 기능 개발 (0) 2019.05.26