문제 :
특정 종목의 가장 최근자 가격 정보를 가져오려 했다.
Date 필드의 값을 기준으로 내림차순 정렬을 하고, 최상단에 위치한 데이터를 가져오려 했는데
Date필드의 데이터 타입이 문자열이어서
나의 의도대로 정렬이 이뤄지지 않았다.
해결 :
아래 내용을 참고했다.
https://stackoverflow.com/questions/22034195/update-string-to-date-object-in-mongodb
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 |