-
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 댓글