• [MongoDB] 비교쿼리 연산자 (eq, ne, gt, lt, gte, lte)

    2023. 5. 29.

    by. 지은이: 김지은

    728x90

    MongoDB에서 제공하는 쿼리 연산자가 있는데 필드의 값과 비교하여 쿼리를 작성하면 원하는 범위의 문서를 검색할 수 있다.

     

    1. $eq

    값이 주어진 값과 동일한지 비교

     

    2. $ne

    값이 주어진 값과 다른지 비교

     

    3. $gt

    값이 주어진 값보다 큰지 비교

     

    4. $lt

    값이 주어진 값보다 작은지 비교

     

    5. $gte

    값이 주어진 값보다 크거나 같은지 비교

     

    6. $lte

    값이 주어진 값보다 작거나 같은지 비교

     

    예를 들어 가격으로 검색 조건을 지정하려고 할 때 최소가격과 최대가격을 제한 할 수 있다.

    최소 가격은 $gt: parseInt(min) || 1

    최대 가격은 $lt: parseInt(max) || 1000000 라고 지정할 때

     

    $gt 연산자를 사용하여 가격이 1 보다 큰 것을 검색하고, $lt연산자를 사용하여 1000000 보다 작은 것으로 검색할 수 있다.

    ?&min=100000&max=190000 => 100000보다 크고 190000보다 작은 것을 검색

     

    여기서 gt, lt를 parseInt()로 지정한 이유는 쿼리 파라미터로 전달되는 값들이 문자열 형태로 처리되기 때문에 숫자로 비교하거나 연산을 수행할 땐 정수로 변환하는 것이 좋다.

    만약 값이 지정한 값 1보다 작거나 1000000을 초과하면 || 연산자를 사용해 기본값을 1 과 1000000을 사용하게 된다.

     

     

     

    'MongoDB' 카테고리의 다른 글

    [mongoDB] mongoose 사용하기 (2)  (0) 2023.05.24
    [MongoDB] Mongoose 사용하기 (1)  (0) 2023.04.08
    [MongoDB] MongoDB란?  (0) 2023.04.07

    댓글