[MongoDB aggregation pipeline] collection에서 날짜(Date)로 기간 조회/쿼리하는 방법



몽고 DB 에서 현재 사용 중인 콜렉션에서 Date 를 사용하는 경우가 있습니다. 이 때, 몽고 DB 에서 Date 로 특정 기간 동안의 조회를 하는 방법은 무엇일까요? 아래와 같은 조건이라고 가정해보겠습니다.

  • dateTime key 에 Date 값이 들어있다.
  • 2023-02-01 부터 2023-02-02 까지의 데이터를 조회

아래와 같이 find 함수 내에 $gte, $lte 를 사용하고 원하는 날짜를 new Date 나 ISODate 내부에 넣어주면 됩니다.

db.mycollection.find({
  "dateTime" : {
    "$gte" : new Date("2023-02-01T00:00:00.000Z"),
    "$lte" : new Date("2023-02-02T00:00:00.000Z")
  } 
})

or

db.mycollection.find({
  "dateTime" : {
    "$gte" : ISODate("2023-02-01T00:00:00.000Z"),
    "$lte" : ISODate("2023-02-02T00:00:00.000Z")
  } 
})