Loading...
나무위키 실시간 검색어 순위
실시간 영화 순위
1. 미키 17
2. 극장판 진격의 거인 완결편 더 라스트 어택
3. 콘클라베
4. 퇴마록
5. 침범
6. 위플래쉬
7. 노보케인
8. 에밀리아 페레즈
9. 이찬원 콘서트 찬가: 디어 마이 찬스
10. 초혼, 다시 부르는 노래

MongoDB Compass 완벽 가이드

MongoDB Compass 완벽 가이드에 대한 img

MongoDB Compass는 MongoDB 데이터를 시각적으로 관리하고 쿼리를 실행할 수 있는 강력한 GUI 도구로, 초보자도 쉽게 사용할 수 있음. 이 글에서는 MongoDB Compass에서 자주 사용되는 주요 쿼리 기능과 개념을 설명하며, 코드 사용을 최소화하고 이해를 돕는 방식으로 정리함.

1. 기본 문서 조회

1-1. 모든 문서 조회

컬렉션의 모든 문서를 조회하려면 빈 필터를 입력:

  • 필터: {}
  • SQL로 치면 SELECT * FROM collection과 동일.
  • Compass에서는 FILTER 필드에 {}를 입력 후 FIND 버튼을 클릭하면 됨.


1-2. 특정 조건 조회

특정 필드 값과 일치하는 문서를 조회하려면:

  • 예: status가 "active"인 문서
  • 필터: { "status": "active" }


2. 조건 조합 (AND, OR)

2-1. AND 조건

여러 조건을 동시에 만족하는 문서를 찾으려면:

  • 예: status가 "A"이고, qty가 50보다 큰 경우
  • 필터: { "status": "A", "qty": { "$gt": 50 } }


2-2. OR 조건

조건 중 하나라도 만족하는 문서를 찾으려면 $or 연산자를 사용:

  • 예: status가 "A"이거나 qty가 30보다 작은 경우
  • 필터: { "$or": [ { "status": "A" }, { "qty": { "$lt": 30 } } ] }


2-3. 복합 조건 (AND + OR)

복잡한 조건 조합도 가능:

  • 예: status가 "A"이고, qty가 30보다 작거나 item이 'p'로 시작하는 경우
  • 필터: { "status": "A", "$or": [ { "qty": { "$lt": 30 } }, { "item": { "$regex": "^p" } } ] }


3. 결과 정렬 및 필드 제한

3-1. 특정 필드만 반환 (Projection)

필요한 필드만 반환하려면 PROJECTION 옵션을 설정:

  • 예: _id 제외, name과 price만 반환
  • 프로젝션: { "_id": 0, "name": 1, "price": 1 }


3-2. 정렬 (Sort)

결과를 정렬하려면 SORT 옵션을 사용:

  • 예: 가격 내림차순 정렬
  • 정렬: { "price": -1 }


3-3. 함께 사용하기

필드 제한과 정렬을 조합:

  • 예: 전자제품 카테고리의 상품 이름과 가격만 내림차순으로 정렬
  • 필터: { "category": "electronics" }
  • 프로젝션: { "_id": 0, "name": 1, "price": 1 }
  • 정렬: { "price": -1 }


4. 패턴 매칭 (LIKE)

MongoDB는 $regex를 통해 문자열 패턴 검색 가능:

  • 예: 이름이 'Sam'으로 시작하는 경우
  • 필터: { "name": { "$regex": "^Sam", "$options": "i" } }
  • "^Sam": 'Sam'으로 시작.
  • $options: "i": 대소문자 구분 없음.


5. 범위 검색 (Range Queries)

비교 연산자를 활용해 범위를 지정할 수 있음:

  • $gt: 초과, $gte: 이상, $lt: 미만, $lte: 이하.
  • 예: 가격이 100 이상이고 500 이하인 경우
  • 필터: { "price": { "$gte": 100, "$lte": 500 } }


6. 페이징 (Pagination)

결과를 페이지 단위로 나누려면 LIMIT 및 SKIP 옵션 사용:

  • 첫 번째 페이지(10개 문서):
  • LIMIT: 10, SKIP: 0
  • 두 번째 페이지(다음 10개 문서):
  • LIMIT: 10, SKIP: 10


7. 집계(Aggregation Pipeline)

복잡한 데이터 처리를 위해 Aggregation Pipeline Builder를 활용 가능.

예: 브랜드별 평균 가격 계산 및 내림차순 정렬

[
  { "$match": { "category": "electronics" } },
  { "$group": { "_id": "$brand", "avgPrice": { "$avg": "$price" } } },
  { "$sort": { "avgPrice": -1 } }
]

 

Compass의 Aggregation Pipeline Builder에서 단계별로 추가해 실행 가능.

8. Compass의 유용한 기능

  1. 자동 완성
  • 쿼리 작성 시 필드명과 연산자를 자동 추천.
  1. 실시간 검증
  • 잘못된 쿼리 입력 시 빨간색 배지로 오류 표시.
  1. 시각적 데이터 분석
  • Schema 메뉴에서 데이터 분포와 통계를 확인 가능.



MongoDB Compass는 초보자도 쉽게 MongoDB 데이터를 관리할 수 있도록 돕는 도구임. 위에서 소개한 쿼리와 기능은 실무에서 자주 사용되는 기본적인 작업들로, 이를 활용하면 데이터 조회와 관리 효율성을 크게 높일 수 있음.