Chapter 8-45. NoSQL MongDB(5/6) MongoDB 비교문법 & 논리연산

2025. 3. 27. 14:08·Database
목차
  1. 🔎 비교 연산자 정리
  2. 🧠 논리 연산자 정리
  3. 🧪 실전 연습문제 – MongoDB 쿼리 실습
  4. ✅ 기본 조건 연습
  5. 📝 마무리 정리

 

📘 MongoDB 비교 연산자 & 논리 연산자 완전 정복 가이드

NoSQL 데이터베이스인 MongoDB에서는 데이터를 효율적으로 검색하기 위해 다양한 비교 연산자와 논리 연산자를 제공합니다. 이 가이드는 MongoDB의 조건문을 이해하고 실전에서 활용할 수 있도록 구성되어 있습니다.


🔎 비교 연산자 정리

연산자 설명 예시 쿼리

$eq 지정된 값과 같은 경우 db.collection.find({ age: { $eq: 30 } })
$gt 지정된 값보다 큰 경우 db.collection.find({ age: { $gt: 30 } })
$gte 지정된 값보다 크거나 같은 경우 db.collection.find({ age: { $gte: 30 } })
$lt 지정된 값보다 작은 경우 db.collection.find({ age: { $lt: 30 } })
$lte 지정된 값보다 작거나 같은 경우 db.collection.find({ age: { $lte: 30 } })
$ne 지정된 값과 다른 경우 db.collection.find({ age: { $ne: 30 } })
$in 배열 내 값과 일치하는 경우 db.collection.find({ age: { $in: [25, 30, 35] } })
$nin 배열 내 값이 아닌 경우 db.collection.find({ age: { $nin: [25, 30, 35] } })

📌 Tip: $in, $nin은 배열 조건으로 여러 값을 한 번에 비교할 수 있어 매우 유용합니다!


🧠 논리 연산자 정리

연산자 설명 예시 쿼리

$and 모든 조건이 참인 문서 검색 db.collection.find({ $and: [{ age: { $gt: 20 } }, { age: { $lt: 30 } }] })
$or 하나 이상의 조건이 참이면 검색 db.collection.find({ $or: [{ age: 20 }, { name: "Alice" }] })
$not 조건의 반대에 해당되는 문서 검색 db.collection.find({ age: { $not: { $gt: 30 } } })
$nor 모든 조건이 거짓인 문서 검색 db.collection.find({ $nor: [{ age: 20 }, { name: "Alice" }] })

💡 논리 연산자는 복잡한 조건 조합을 만들 때 핵심입니다!


🧪 실전 연습문제 – MongoDB 쿼리 실습

다음은 실제 컬렉션에 적용할 수 있는 쿼리 예제들입니다. 조건에 맞는 문서를 찾아보세요!

✅ 기본 조건 연습

  1. products 컬렉션에서 price가 100보다 큰 문서 찾기
db.products.find({ price: { $gt: 100 } })
  1. employees 컬렉션에서 age < 30 또는 department이 "HR"인 문서
db.employees.find({ $or: [{ age: { $lt: 30 } }, { department: "HR" }] })
  1. orders 컬렉션에서 quantity가 5 이상, 10 이하인 문서
db.orders.find({ quantity: { $gte: 5, $lte: 10 } })
  1. customers 컬렉션에서 city가 "Seoul"이 아닌 문서
db.customers.find({ city: { $ne: "Seoul" } })
  1. movies 컬렉션에서 rating이 8 이상이고 genre가 "comedy" 또는 "drama"인 문서
db.movies.find({ rating: { $gte: 8 }, genre: { $in: ["comedy", "drama"] } })
  1. books 컬렉션에서 author가 "John Doe"이고 publishedYear > 2000
db.books.find({ author: "John Doe", publishedYear: { $gt: 2000 } })
  1. vehicles 컬렉션에서 type이 "car"가 아니고 price > 20000
db.vehicles.find({ type: { $ne: "car" }, price: { $gt: 20000 } })
  1. restaurants 컬렉션에서 rating이 5이고 cuisine이 "Italian", "French"가 아닌 문서
db.restaurants.find({ rating: 5, cuisine: { $nin: ["Italian", "French"] } })
  1. users 컬렉션에서 age >= 30이고 city != "New York"
db.users.find({ age: { $gte: 30 }, city: { $ne: "New York" } })
  1. flights 컬렉션에서 departure가 "London"이거나 arrival이 "Tokyo"인 문서
db.flights.find({ $or: [{ departure: "London" }, { arrival: "Tokyo" }] })

📝 마무리 정리

항목 설명

비교 연산자 숫자나 문자열 조건 비교 ($gt, $lt, $eq, $ne 등)
논리 연산자 조건 조합 ($and, $or, $not, $nor)
실전 팁 $in, $nin은 리스트 기반 조건 / $and 없이 여러 조건은 AND로 묵시 처리됨

✅ 이 연산자들을 잘 활용하면 복잡한 쿼리도 효율적으로 구성할 수 있습니다! MongoDB 쿼리 연습은 CRUD 능력 향상뿐 아니라 데이터 구조 이해에도 큰 도움이 됩니다.

다음엔 Aggregation Pipeline 쪽도 이어서 배우면 훨씬 더 강력한 MongoDB 쿼리를 만들 수 있어요! 🚀

'Database' 카테고리의 다른 글

Chapter 8-47. Python으로 다루는 MongoDB (PyMongo)  (0) 2025.03.27
Chapter 8-46. NoSQL MongDB(6/6) MongoDB Aggregation 문법  (0) 2025.03.27
Chapter 8-44. NoSQL MongDB(4/6) 연습문제  (0) 2025.03.27
Chapter 8-43. NoSQL MongDB(3/6) 쿼리기초  (0) 2025.03.27
Chapter 8-41. NoSQL MongoDB(2/6) MongoDB의 기본 구조  (0) 2025.03.26
  1. 🔎 비교 연산자 정리
  2. 🧠 논리 연산자 정리
  3. 🧪 실전 연습문제 – MongoDB 쿼리 실습
  4. ✅ 기본 조건 연습
  5. 📝 마무리 정리
'Database' 카테고리의 다른 글
  • Chapter 8-47. Python으로 다루는 MongoDB (PyMongo)
  • Chapter 8-46. NoSQL MongDB(6/6) MongoDB Aggregation 문법
  • Chapter 8-44. NoSQL MongDB(4/6) 연습문제
  • Chapter 8-43. NoSQL MongDB(3/6) 쿼리기초
Chansman
Chansman
안녕하세요! 코딩을 시작한 지 얼마 되지 않은 초보 개발자 찬스맨입니다. 이 블로그는 제 학습 기록을 남기고, 다양한 코딩 실습을 통해 성장하는 과정을 공유하려고 합니다. 초보자의 눈높이에 맞춘 실습과 팁, 그리고 개발하면서 겪은 어려움과 해결 과정을 솔직하게 풀어내려 합니다. 함께 성장하는 개발자 커뮤니티가 되기를 바랍니다.
  • Chansman
    찬스맨의 프로그래밍 스토리
    Chansman
  • 전체
    오늘
    어제
    • 분류 전체보기 (552) N
      • Python (31)
      • 프로젝트 (43)
      • 과제 (23)
      • Database (40)
      • 멘토링 (10) N
      • 특강 (25)
      • 기술블로그 (176) N
      • AI 분석 (3)
      • HTML & CSS (31)
      • JavaScript (17)
      • AWS_Cloud (21)
      • 웹스크래핑과 데이터 수집 (14)
      • Flask (42)
      • Django (52)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Chansman
Chapter 8-45. NoSQL MongDB(5/6) MongoDB 비교문법 & 논리연산

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.