반응형
1. MongoDB Compass란?
MongoDB Compass는 MongoDB의 공식 GUI 도구로, 데이터를 시각화하고 데이터베이스를 효율적으로 관리할 수 있습니다. MongoDB Atlas와 통합하면 클라우드 데이터베이스를 쉽게 탐색하고 관리할 수 있습니다.
2. MongoDB Compass 설치
- 공식 웹사이트(MongoDB Compass 다운로드)에서 Compass를 다운로드합니다.
- 운영 체제에 맞는 설치 파일을 실행하고 설치를 완료합니다.
- 설치 후, MongoDB Compass를 실행합니다.
3. MongoDB Atlas와 연결 설정
Atlas에서 연결 URI 복사
- MongoDB Atlas 대시보드로 이동합니다.
- "Clusters" 섹션에서 연결하려는 클러스터를 선택합니다.
- "Connect" 버튼을 클릭한 뒤 "Connect with MongoDB Compass"를 선택합니다.
- 제공된 URI를 복사합니다.
Compass에서 연결 설정
- MongoDB Compass를 실행합니다.
- "Paste your connection string (SRV or Standard)" 필드에 복사한 URI를 붙여넣습니다.
- "Connect" 버튼을 클릭하여 Atlas 클러스터에 연결합니다.
4. 데이터 탐색 및 관리
Compass를 사용하여 다음 작업을 수행할 수 있습니다:
- 데이터 시각화: 컬렉션의 데이터를 표 형태로 확인하고 필터를 적용할 수 있습니다.
- 인덱스 관리: 컬렉션에 적절한 인덱스를 추가하여 쿼리 성능을 최적화합니다.
- 데이터베이스 생성/삭제: 새로운 데이터베이스와 컬렉션을 쉽게 생성하거나 삭제할 수 있습니다.
컬렉션 관리 예제
db.collection("users").insertOne({
name: "Alice",
age: 25,
email: "alice@example.com"
});
5. 주요 기능 비교
기능 | 설명 | Compass 사용 시 장점 |
---|---|---|
데이터 시각화 | 컬렉션 데이터를 표 형태로 확인 가능 | 즉각적인 데이터 확인 |
쿼리 테스트 | 쿼리 작성 및 실행 | 쿼리 성능 테스트 용이 |
인덱스 관리 | 인덱스 추가/삭제 | 성능 최적화 |
6. MongoDB Compass 사용 팁
- 자주 사용하는 쿼리는 "Query History"에서 쉽게 확인할 수 있습니다.
- "Explain Plan" 기능을 활용하여 쿼리 성능을 분석하세요.
- "Aggregation Pipeline Builder"를 사용하여 복잡한 집계 작업을 쉽게 설정하세요.
집계 파이프라인 예제
db.collection("orders").aggregate([
{ $match: { status: "completed" } },
{ $group: { _id: "$customerId", totalSpent: { $sum: "$amount" } } }
]);
집계 파이프라인 케이스별 예제 코드
1. 사용 사례: 고객별 총 구매 금액 계산
db.collection("orders").aggregate([
{ $match: { status: "completed" } },
{ $group: { _id: "$customerId", totalSpent: { $sum: "$amount" } } }
]);
설명: "completed" 상태의 주문만 집계하고, 고객별로 총 구매 금액을 계산합니다. 이 예제는 고객별 소비 패턴을 분석하는 데 유용합니다.
2. 사용 사례: 월별 판매량 분석
db.collection("sales").aggregate([
{ $project: { month: { $month: "$date" }, amount: 1 } },
{ $group: { _id: "$month", totalSales: { $sum: "$amount" } } },
{ $sort: { _id: 1 } }
]);
설명: 판매 데이터를 월별로 그룹화하여 총 판매 금액을 계산합니다. $project 단계에서 날짜 필드에서 월 정보를 추출합니다.
3. 사용 사례: 인기 상품 TOP 5
db.collection("products").aggregate([
{ $group: { _id: "$productName", totalSold: { $sum: "$quantity" } } },
{ $sort: { totalSold: -1 } },
{ $limit: 5 }
]);
설명: 판매량이 많은 상위 5개 제품을 식별합니다. $group 단계에서 각 제품의 판매량을 합산하고, $sort와 $limit 단계를 사용해 상위 5개를 가져옵니다.
4. 사용 사례: 지역별 평균 주문 금액
db.collection("orders").aggregate([
{ $group: { _id: "$region", avgOrderAmount: { $avg: "$amount" } } },
{ $sort: { avgOrderAmount: -1 } }
]);
설명: 지역별 평균 주문 금액을 계산합니다. 이 데이터는 지역별 구매력을 이해하거나 마케팅 전략을 수립하는 데 도움이 됩니다.
5. 사용 사례: 특정 카테고리의 주간 판매 추이
db.collection("sales").aggregate([
{ $match: { category: "electronics" } },
{ $project: { week: { $isoWeek: "$date" }, amount: 1 } },
{ $group: { _id: "$week", totalSales: { $sum: "$amount" } } },
{ $sort: { _id: 1 } }
]);
설명: 특정 카테고리(electronics)의 주별 판매 추이를 분석합니다. $isoWeek를 사용해 날짜에서 주 단위를 추출합니다.
6. 집계 단계 요약
단계 | 설명 | 사용 목적 |
---|---|---|
$match | 특정 조건으로 데이터를 필터링 | 원하는 데이터만 추출 |
$group | 데이터를 그룹화하고 통계 계산 | 합계, 평균 등 계산 |
$sort | 데이터를 정렬 | 결과를 특정 순서로 정렬 |
$project | 필드 선택 및 계산 | 필요한 필드만 포함 |
$limit | 결과 개수를 제한 | 상위 결과 추출 |
반응형
'프로그래머' 카테고리의 다른 글
Amazon EC2 란? Amazon EC2의 역사 | Amazon EC2 설명 및 가격 정책 (0) | 2025.01.25 |
---|---|
MongoDB Sync 란 무엇인가? MongoDB Sync 사용 설명 및 사용 가이드, MongoDB Sync를 활용한 데이터 동기화 예제 (0) | 2025.01.23 |
MongoDB Atlas를 활용한 백엔드 애플리케이션 구축을 위한 컴퓨터 언어별 연결 및 사용 방법 (0) | 2025.01.22 |
MongoDB Atlas 보안 설정 가이드 (0) | 2025.01.22 |
MongoDB Atlas 소개 및 MongoDB Atlas 사용법 (0) | 2025.01.22 |