개발/학습

MongoDB - 데이터 타입 수정 ; 문자열을 날짜로

sihoonchris 2024. 7. 14. 17:05

문제 : 

특정 종목의 가장 최근자 가격 정보를 가져오려 했다.

Date 필드의 값을 기준으로 내림차순 정렬을 하고, 최상단에 위치한 데이터를 가져오려 했는데

Date필드의 데이터 타입이 문자열이어서

나의 의도대로 정렬이 이뤄지지 않았다.

 

해결 : 

아래 내용을 참고했다.

https://stackoverflow.com/questions/22034195/update-string-to-date-object-in-mongodb

 

Update string to Date object in mongodb

I'm working on mongodb and node.js and i came a across a scenario. I'm bulk inserting data around 200 million record. In those there are some fields that are saved as string but actually are date....

stackoverflow.com

aggregate를 사용하는 방법도 있는 것 같은데

어떻게 쓰라는 건지 솔직히 이해가 잘 안됐다.

그래서 updateMany를 사용하는  방법을 선택했다 - aggregate는 나중에 알아보자

 

db . collection이름 . updateMany ( {} ,  [{ "$set": { "field이름": { "$toDate": "$field이름" } }}] );

 

쿼리문 실행 결과 1. Date필드의 값이 Date 형식으로 잘 바뀌었다.

 

쿼리문 실행 결과 2. sort()가 의도대로 잘 기능한다

 

'개발 > 학습' 카테고리의 다른 글

MongoDB(Mongoose) - connect / createConnection  (0) 2024.08.25
MongoDB 강의 내용 정리 - 2.  (0) 2024.04.12
MongoDB 강의 내용 정리 - 1.  (0) 2024.04.10