MongoDB에 날짜 삽입하는 기본 방법
MongoDB에 날짜 데이터를 저장하려면 Date() 생성자를 사용하면 됩니다. Date 객체는 내부적으로 ISODate 형식(BSON Date 타입)으로 변환되어 저장되므로, 날짜 비교나 범위 검색에도 유용하게 활용할 수 있습니다.
아래 예제에서는 날짜 값을 가진 문서들을 포함하는 컬렉션을 직접 만들어 보겠습니다.
1단계: 문서 삽입하기
> db.demo421.insert({"DueDate":new Date(Date.now())});
WriteResult({ "nInserted" : 1 })
> db.demo421.insert({"DueDate":new Date("2020-01-15")});
WriteResult({ "nInserted" : 1 })
> db.demo421.insert({"DueDate":new Date("2018-12-31")});
WriteResult({ "nInserted" : 1 })
위 코드에서 확인할 수 있듯이, 세 가지 방식으로 날짜를 삽입했습니다.
- new Date(Date.now()) : 현재 시각 기준의 날짜와 시간을 저장합니다.
- new Date("YYYY-MM-DD") : 문자열로 지정한 특정 날짜를 저장하며, 시간은 자정(00:00:00 UTC)으로 설정됩니다.
2단계: find() 메서드로 결과 확인하기
삽입된 모든 문서는 find() 메서드를 통해 조회할 수 있습니다.
> db.demo421.find();
위 명령을 실행하면 다음과 같은 결과가 출력됩니다.
{ "_id" : ObjectId("5e73a2ec9822da45b30346de"), "DueDate" : ISODate("2020-03-19T16:50:52.746Z") }
{ "_id" : ObjectId("5e73a2fb9822da45b30346df"), "DueDate" : ISODate("2020-01-15T00:00:00Z") }
{ "_id" : ObjectId("5e73a3079822da45b30346e0"), "DueDate" : ISODate("2018-12-31T00:00:00Z") }
참고 사항
MongoDB는 날짜를 ISODate(UTC 기준) 형식으로 저장합니다. 문자열 형태의 날짜를 삽입할 경우 자동으로 Date 타입으로 변환되며, 이렇게 저장된 날짜는 $gte, $lte 같은 비교 연산자를 사용한 쿼리나 집계(Aggregation) 파이프라인에서 정확하게 처리할 수 있습니다.