바닥코딩

논리, 비교 Query 본문

데이터 베이스/MongoDB

논리, 비교 Query

개발공부개발공부 2023. 6. 18. 22:44

 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