정의
최대값을 반환합니다. $max은(는) 서로 다른 유형의 값에 대해 지정된 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 deployment 에 로드하는 방법에 대한 자세한 내용은 샘플 데이터 세트 로드를 참조하세요. 샘플 데이터베이스를 수정한 경우 이 페이지의 예제를 실행 하려면 데이터베이스를 삭제하고 다시 만들어야 할 수 있습니다.
다음 예시 $group 단계에서 $max을 사용하여 각 등급 카테고리에서 영화의 가장 높은 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 } } ] )
이전 파이프라인: