개발자는 오늘도 달립니다.
[MongoDB] 비교, 논리 쿼리 연산자 본문
Mongo DB 쿼리 연산자에 대해서 알아보겠습니다. ٩( ᐛ )و
쿼리 연산자는 다큐먼트를 조회할 때 구체적으로 찾기 위해 조건을 입력하는 것을 도와주는 기호입니다. 몇 개는 지난 시간에 미리 보셨을 겁니다. 쿼리 연산자는 모두 $로 시작합니다. 오늘은 비교 쿼리 연산자에 대해 알아보겠습니다.
⊙ 비교 쿼리
$gt
해당 값보다 더 큰 값을 가진 필드를 찾습니다. 숫자 뿐만 아니라 날짜와 ObjectId도 비교할 수 있습니다.
{ 필드: { $gt: 값 } }
$lt
해당 값보다 작은 값을 가진 필드를 찾습니다
{ 필드: { $lt: 값 } }
$gte
해당 값보다 크거나 같은 값을 가진 필드를 찾습니다
{ 필드: { $gte: 값 } }
$lte
해당 값보다 작거나 같은 값을 가진 필드를 찾습니다
{ 필드: { $lte: 값 } }
$eq
해당 값과 일치하는 값을 가진 필드를 찾습니다. 사실 그냥 { 필드: 값 } 하는 것과 같습니다.
{ 필드: { $eq: 값 } }
$ne
해당 값과 일치하지 않는 값을 가진 필드를 찾습니다.
{ 필드: { $ne: 값 } }
$in
필드의 값이 $in 안에 들어있는 값들 중 하나인 필드를 찾습니다. 아래의 예를 보면 값1, 값2, 값3, ...이 있는데 필드의 값이 그 중 하나면 반환하는 겁니다.
{ 필드: { $in: [ 값1, 값2, 값3, ... ] }
$nin
필드의 값이 $nin 안에 값들이 아닌 필드를 찾습니다. 아래의 예를 보면 값1, 값2, 값3, ...이 있는데 필드의 값이 그 값들이 아니어야 합니다.
{ 필드: { $nin: [ 값1, 값2, 값3, ... ] }
⊙ 논리 쿼리
$or
$or은 여러 개의 조건 중에 적어도 하나를 만족하는 다큐먼트를 찾습니다.
{ $or: [{ 조건1 }, { 조건2 }, ...] }
$and
$and는 여러 개의 조건을 모두 만족하는 다큐먼트를 찾습니다. 조건이 간단하면 그냥 { 필드: 값, 필드: 값 } 이렇게 $and가 없어도 되지만, 주로 다음과 같은 경우 때문에 $and가 필요합니다.
{ $and: [ { $or: [{ 조건1 }, { 조건2 }] }, { $or: [{ 조건3 }, { 조건4 }] } ] }
$nor
$nor은 여러 개의 조건을 모두 만족하지 않는 다큐먼트를 찾습니다. 조건1, 조건2 등등을 모두 만족하지 않아야합니다.
{ $nor: [{ 조건1 }, { 조건2 }, ...] }
$not
$not은 뒤의 조건을 만족하지 않는 필드를 찾습니다. $nor의 단일 버전이라고 보시면 됩니다.
{ $not: { 조건 } }
다음 시간에는 요소 쿼리 연산자와 평가 쿼리 연산자에 대해 알아보겠습니다!
'데이터베이스 > 몽고DB' 카테고리의 다른 글
[MongoDB] 몽고DB 설치하기 - Windows (0) | 2021.11.05 |
---|---|
[MongoDB] 컬렉션 조회 함수 조회 하기 및 특정 컬렉션 빼고 삭제 하기! (0) | 2021.02.09 |
[MongoDB] 몽고DB 샤딩(Sharding) 구성하기! (1) | 2021.01.29 |
[MongoDB] 몽고 DB 설치 및 세팅 With CentOS (0) | 2020.10.07 |
[MongoDB] Mongoose(몽구스) 메뉴얼 - 프로미스 편 (0) | 2020.07.10 |