바닥코딩
논리, 비교 Query 본문
MongoDB에서query는 굉장히 중요한 존재입니다. RDBMS로 치면 SQL의 역할을 query인자로 수행하기 때문에 MongoDB를 제대로 이해하기 위해서는 제대로 활용하기 어렵습니다. 이번 포스트에서는 query를 어떻게 활용할 수 있을지 예제를 통해 살펴보겠습니다.
논리 연산자
MongoDB query에서는 논리 연산자를 통해 원하는 document를 조회할 수 있습니다. 연산자는 연산자명 앞에 $가 붙으며 제공하는 논리 연산자는 다음과 같습니다
만약 컬렉션에서 username이 person1 또는 person 2 인 경우의를 찾고 싶다면
db.user.find({$or:[{username:"person1"}, {username: "person2"}]})
위와 같은 방법으로 $or 연산자를 통해 데이터를 조회 할 수 있습니다.
(나머지 연산자들도 역할은 다르지만 위와같은 형식은 모두 동일하기 때문에 사용법은 같습니다)
비교 연산자
MongoDB에서는 각 document의 필드 값을 비교연산자를 통해 비교해 원하는 결과를 필터링 하는 것이 가능합니다. 비교연산자는 논리연산자와 같이 $를 통해 사용하며 아래와 같은 비교 연산자들이 있습니다.
이 중 비교 연산자 예시로 $eq 를 사용해 보겠습니다. 만약 username이 person1 인 document를 조회하고 싶다면
db.user.find({username:{$eq : "person1"}})
와 같은 코드를 작성해 결과를 조회할 수 있습니다.
논리연산자와 비교연산자 혼합하여 사용하기
MongoDB에서 쿼리를 사용할 경우 실제로는 원하는 결과를 조회하기 위해 많은 연산 조건이 혼합되어 들어갈 것 입니다. 당연히 query를 작성할 떄 다양한 연산자를 혼합하여 사용하는것이 가능합니다.
아까 예시를 들었던 $or 연산과 $eq연산을 혼합해 username이 person1 이거나 person2 인 document를 조회하고 싶다면
db.user.find({
$or:[
{username : {$eq: "person1"}},
{username : {$eq: "person2"}}
]
})
이러한 식으로 코드를 작성하는 것이 가능합니다.
'데이터 베이스 > MongoDB' 카테고리의 다른 글
MongoDB 명령어(Update & Delete) (0) | 2023.08.15 |
---|---|
MongoDB 배열 (0) | 2023.08.14 |
MongoDB 명령어(Read) (0) | 2023.06.18 |
MongoDB 명령어(Create & Insert) (0) | 2023.06.18 |
쉘을 이용한 MongoDB 접속 (0) | 2023.06.17 |