정의
최대값을 반환합니다. $max (uc131)는 다른 유형의 값에 대해 지정된 BSON 비교 순서를 사용하여 값과 유형을 모두 비교합니다.
$max 축적자는 다음 단계에서 사용할 수 있습니다.
참고
명확화
이 페이지에서는 $max을 축적자로 사용할 때에 대해 설명합니다. 축적자는 입력 문서 그룹 전체에 걸쳐 합계, 최댕값 또는 최소값과 같은 단일 집계 값을 반환합니다.
$max를 다른 다음 문맥에서도 사용할 수 있습니다:
$max (expression), 배열 또는 값 목록에서 최대 값을 반환합니다.$max (window function), 이는$setWindowFields스테이지에서 특정 창의 문서에서 최대 값을 반환하기 위해 사용됩니다.
구문
{ $max: <expression> }
행동
결과 유형
$max BSON 비교 순서 에 따라 입력 데이터를 비교하여 적절한 출력 유형을 결정합니다. 입력 데이터에 여러 데이터 유형이 포함된 경우 $max 출력 유형이 비교 순서에서 가장 높습니다.
Null 및 누락된 값
$max의 입력 값 중 일부( 전부는 아님)가 null 이거나 누락된 경우, $max는 null이 아닌 값과 누락되지 않은 값만 고려합니다.
$max의 모든 입력 값이 null 이거나 없으면, $max는 null을 반환합니다.
배열 피연산자
$group 단계에서 표현식이 배열로 확인되면 $max는 배열을 트래버스하지 않고 배열을 전체적으로 비교합니다.
같은 값
여러 값이 동등하게 비교되는 경우, $max 은 이 값 중 하나를 반환할 수 있습니다. $max 이 반환하는 동등한 값이 무엇인지는 보장할 수 없습니다.
예를 들어, 대소문자를 구별하지 않는 데이터 정렬에서는 "a" 과 "A" 이 같은 것으로 비교될 수 있습니다. 어느 값이 반환될지는 보장할 수 없습니다.
$group 단계에서 사용
이 페이지의 예시는 sample_mflix 데이터 세트의 데이터를 사용합니다. 이 데이터 세트를 자체 관리형 MongoDB 배포서버에 로드하는 방법에 대한 자세한 내용은 샘플 데이터세트 로드를 참조하세요. 샘플 데이터베이스를 수정한 경우, 이 페이지의 예시를 실행하려면 데이터베이스를 제거하고 다시 생성해야 할 수 있습니다.
다음 예시에서는 $max을(를) 사용하여 $group 단계에서 각 평점 카테고리의 영화에 대해 가장 높은 IMDb 평점과 가장 긴 실행 시간을 찾습니다:
db.movies.aggregate( [ { $match: { rated: { $in: [ "G", "PG", "PG-13", "R" ] }, "imdb.rating": { $gt: 0 }, runtime: { $gt: 0 } } }, { $sort: { rated: 1 } }, { $group: { _id: "$rated", maxImdbRating: { $max: "$imdb.rating" }, maxRuntime: { $max: "$runtime" } } }, { $sort: { _id: 1 } } ] )
이전 파이프라인: