MongoDB 어제 날짜로 select

MongoDB 어제 날짜로 select

작성일 2023.02.15댓글 1건
    게시물 수정 , 삭제는 로그인 필요

MongoDB 어제 날짜로 select 하고샆은데

mysql 같은 경오는 where 절에 sysdate()-1 하던데

몽고 db는 그런게 없을까요??



profile_image 익명 작성일 -

MongoDB에서는 현재 날짜와 시간을 얻기 위해 new Date()를 사용할 수 있습니다. 이를 이용하여 어제 날짜를 구하고, 이를 기준으로 쿼리를 작성할 수 있습니다.

예를 들어, createdAt 필드가 있고 이 필드가 ISODate 형식으로 저장된 경우, 다음과 같은 쿼리를 사용하여 어제 날짜의 데이터를 가져올 수 있습니다:

db.collection.find({createdAt: {$lt: new Date(), $gte: new Date(new Date().setDate(new Date().getDate()-1))}})

이 쿼리는 createdAt 필드가 현재 날짜보다 작고 어제 날짜보다 크거나 같은 모든 데이터를 반환합니다.

new Date()는 현재 날짜와 시간을 반환하고, new Date().getDate()-1은 어제 날짜의 일을 반환합니다. 이를 다시 new Date()로 감싸서 어제 날짜의 0시 0분 0초를 나타내는 ISODate("2023-02-22T00:00:00Z")와 같은 형태로 변환합니다.

참고로 MongoDB에서는 날짜와 시간을 다루는 다양한 연산자와 함수를 제공하므로, 쿼리를 작성할 때 이를 적극적으로 활용할 수 있습니다.