광고 차단 프로그램이 감지되었습니다

이 사이트는 광고 수익을 통해 무료로 콘텐츠와 서비스를 제공하고 있습니다.

더 나은 서비스를 위해 광고 차단 프로그램을 비활성화 해주세요.

광고 차단 해제 방법 보기
Loading...

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

목차
목차를 불러오는 중...

댓글

Loading...

댓글 로딩 중...

구글 검색