Make the MongoDB docs better! We value your opinion. Share your feedback for a chance to win $100.
Click here >
Docs Menu
Docs Home
/

집계 작업

집계 작업은 여러 문서를 처리하고 계산된 결과를 반환합니다. 집계 작업을 통해 다음과 같은 작업을 수행할 수 있습니다:

  • 여러 문서에서 값을 그룹화합니다.

  • 그룹화된 데이터에서 단일 결과를 계산합니다.

  • 시간에 따른 데이터 변화를 분석합니다.

  • 최신 버전의 데이터를 쿼리합니다.

MongoDB 의 집계 연산자를 사용하면 데이터를 다른 플랫폼으로 이동하지 않고도 클러스터 에서 분석 실행 수 있습니다.

집계 작업을 수행하기 위해 다음을 사용할 수 있습니다:

  • 집계 파이프라인이 선호되는 방법입니다.

  • 집계 파이프라인 보다 기능이 적은단일 목적 집계 메서드입니다.

MongoDB Atlas에서 호스팅되는 배포에 대해 UI에서 집계 파이프라인을 실행할 수 있습니다.

집계 파이프라인은 문서를 처리하는 하나 이상의 단계로 구성됩니다.

  • 각 단계는 입력 문서에 대한 연산을 수행합니다. 예를 들어, 한 단계에서는 문서를 필터링하고, 문서를 그룹화하고, 값을 계산할 수 있습니다.

  • 한 단계에서 출력된 문서는 다음 단계로 전달됩니다.

  • 집계 파이프라인은 문서 그룹에 대한 결과를 반환할 수 있습니다. 예를 들어 총값, 평균값, 최대값, 최소값을 반환할 수 있습니다.

집계 파이프라인을 사용하여 업데이트에 표시된 단계를 사용하는 경우 집계 파이프라인으로 문서를 업데이트할 수 있습니다.

참고

이 페이지의 예시에서는 sample_mflix 샘플 데이터 세트의 데이터를 사용합니다. 이 데이터 세트를 자체 관리형 MongoDB 배포서버에 로드하는 방법에 대한 자세한 내용은 샘플 데이터 세트 로드를 참조하세요. 샘플 데이터베이스를 수정한 경우 이 페이지의 예시를 실행 하려면 데이터베이스를 제거하고 다시 만들어야 할 수 있습니다.

다음 파이프라인 데이터베이스 에서 가장 많은 영화를 감독한 상위 3명의 감독을 찾습니다.

단계를 사용하여 $match 감독이 나열된 영화를 필터하다 합니다(디렉터스 필드 가 null이거나 비어 있는 문서 제외).

{
$match : {
"directors" : { $exists: true, $ne: null, $not: {$size: 0} }
}
},

단계는 $match 감독 정보가 없는 영화를 필터링하여 파이프라인 의 문서 수를 줄입니다. 다음으로 을 사용하여 개별 감독당 영화 수를 계산할 수 있도록 감독 배열 $unwind 분해합니다.

{
$unwind : "$directors"
},

를 사용하여 감독 이름별로 문서를 그룹 하고 각 감독의 영화 수를 $group 계산합니다.

{
$group : {
_id : "$directors",
movieCount : {
$sum: 1
}
}
},

$sort 나머지 문서를 영화 수를 기준으로 내림차순으로 정렬하려면 를 사용합니다.

{
$sort : {
movieCount : -1
}
},

를 사용하여 상위 3명의 디렉터를 $limit 반환합니다.

{
$limit : 3
}

전체 파이프라인:

db.movies.aggregate(
[
{
$match : {
"directors" : { $exists: true, $ne: null, $not: {$size: 0} }
}
},
{
$unwind : "$directors"
},
{
$group : {
_id : "$directors",
movieCount : {
$sum: 1
}
}
},
{
$sort : {
movieCount : -1
}
},
{
$limit : 3
}
]
)

파이프라인 다음과 같은 결과를 반환합니다.

[
{ _id: 'Woody Allen', movieCount: 40 },
{ _id: 'Martin Scorsese', movieCount: 32 },
{ _id: 'Takashi Miike', movieCount: 31 }
]

샘플 입력 문서가 포함된 실행 가능한 예시는 전체 집계 파이프라인 예시를 참조하세요.

집계 파이프라인대한 자세한 내용은 집계 파이프라인을 참조하세요.

단일 목적 집계 메서드는 단일 컬렉션 에서 문서를 애그리게이션합니다. 이러한 메서드는 집계 파이프라인 보다 기능이 적습니다.

메서드
설명

Collection 또는 보기에 있는 문서의 대략적인 개수를 반환합니다.

Collection 또는 보기에 있는 문서 수의 개수를 반환합니다.

지정된 필드에 고유한 값을 가진 문서의 배열을 반환합니다.

돌아가기

화폐 데이터

스킬 배지 획득

무료로 '데이터 변환의 기초'를 마스터하세요!

자세한 내용을 알아보세요.

이 페이지의 내용