정의
배열 에서 최대값을 반환합니다.
참고
명확화
이 페이지에서는 배열 또는 값 목록에서 최대값을 반환하는 표현식 으로 $max을 사용하는 경우에 대해 설명합니다.
다음과 같은 다른 컨텍스트에서도 $max를 사용할 수 있습니다.
$max (accumulator)는 다양한 입력 문서 수를 기반으로 애그리게이션된 단일 값을 반환합니다.$max (window function)는$setWindowFields단계에서 특정 창 문서에서 최대값을 반환하는 데 사용됩니다.
구문
{ $max: <expression> }
expression 은 배열 로 평가되어야 합니다.
행동
결과 유형
$max BSON 비교 순서 에 따라 입력 데이터를 비교하여 적절한 출력 유형을 결정합니다. 입력 데이터에 여러 데이터 유형이 포함된 경우 $max 출력 유형이 비교 순서에서 가장 높습니다.
Null 및 누락된 값
전부는 아니지만 일부 입력 값이 $max에 null이거나 누락된경우, $max는 null이 아닌 값과 누락되지 않은 값만 고려합니다.
$max의 모든 입력 값이 null이거나 누락된 경우 $max는 null을 반환합니다.
배열 피연산자
단일 표현식 피연산자로 사용하는 경우 표현식 배열 로 해석되면 $max은 최대값을 찾기 위해 배열 탐색합니다.
표현식 목록을 피연산자로 사용하는 경우 표현식 배열 로 해석되는 경우 $max 은 해당 배열 순회하지 않고 대신 배열 전체를 비교합니다.
예시
이 페이지의 예제에서는 sample_mflix 데이터 세트의 데이터를 사용합니다. 이 데이터 세트를 자체 관리형 MongoDB deployment 에 로드하는 방법에 대한 자세한 내용은 샘플 데이터 세트 로드를 참조하세요. 샘플 데이터베이스를 수정한 경우 이 페이지의 예제를 실행 하려면 데이터베이스를 삭제하고 다시 만들어야 할 수 있습니다.
다음 예시 $project 단계에서 $max를 사용하여 IMDb, 로튼 토마토 뷰어 및 로튼 토마토 비평가라는 세 가지 등급 소스에서 각 영화에 대한 최고 등급을 찾습니다.
db.movies.aggregate( [ { $match: { title: { $in: [ "The Godfather", "Schindler's List", "The Dark Knight" ] }, "imdb.rating": { $gt: 0 }, "tomatoes.viewer.rating": { $gt: 0 }, "tomatoes.critic.rating": { $gt: 0 } } }, { $project: { _id: 0, title: 1, highestRating: { $max: [ "$imdb.rating", "$tomatoes.viewer.rating", "$tomatoes.critic.rating" ] } } }, { $sort: { title: 1 } } ] )
이전 파이프라인: