Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /

$top (표현식 연산자)

$top

버전 8.3에 추가 되었습니다.

지정된 정렬 순서에 따라 배열 내 최상위 요소를 반환합니다.

참고

명확화

이 페이지에서는 표현식 $top 연산자 대해 설명합니다.$top 축적자 연산자 에 대해서는 $top(축적자 연산자)을 참조하세요.

표현식 연산자 로 사용되는 경우 $top 의 구문은 다음과 같습니다.

{
$top:
{
sortBy: <expression>,
input: <expression>
}
}
필드
필요성
설명

sortBy

필수 사항

결과의 순서를 지정합니다. 값에 대한 자세한 내용은 정렬 sortBy 동작을 참조하세요.

입력

필수 사항

$top 가 평가하는 배열 입니다.

MongoDB sortBy 값을 기준으로 input 배열 정렬합니다. 다음 표에는 다양한 정렬 옵션의 예가 나와 있습니다.

input
sortBy
정렬됨 input
[ 8, 3, 1, 10]

1

[1, 3, 8, 10]
[ 8, 3, 1, 10]

-1

[10, 8, 3, 1]
[
{ a: 1, b: 1 },
{ a: 2, b: 2 },
{ a: 2, b: 1 }
]

{ a: 1, b: 1 }

[
{ a: 1, b: 1 },
{ a: 2, b: 1 },
{ a: 2, b: 2 }
]

input 필드 배열 로 해석되어야 합니다. 배열 아닌 input 을(를) 지정하면 MongoDB 오류가 발생합니다.

movies 다음 예시 sample_mflix 샘플 데이터 세트의 컬렉션 사용합니다. 이 데이터 세트를 배포서버 에 로드하는 방법에 대한 자세한 내용은 샘플 데이터 세트 로드를 참조하세요.

movies 컬렉션 에는 다음 예시 와 유사한 문서가 포함되어 있습니다.

{
_id: ObjectId('573a1396f29313caabce4a9a'),
year: 1972,
genres: [ 'Crime', 'Drama' ],
title: 'The Godfather',
cast: [ 'Marlon Brando', 'Al Pacino', 'James Caan', 'Richard S. Castellano' ],
directors: [ 'Francis Ford Coppola' ],
runtime: 175,
...
}

다음 집계 파이프라인 cast 배열 의 $top 를 사용하여 지정된 영화에 대한 첫 번째 출연진을 알파벳 순서로 반환합니다.

db.movies.aggregate([
{
$match: { title: "The Godfather" }
},
{
$project: {
_id: 0,
title: 1,
firstCastMemberAlphabetically: {
$top: {
sortBy: 1,
input: "$cast"
}
}
}
}
])
[
{
title: 'The Godfather',
firstCastMemberAlphabetically: 'Al Pacino'
}
]

이 예시 에서 $top 은 기존 cast 배열 알파벳 오름차순으로 정렬하고 첫 번째 값을 반환합니다.

돌아가기

$toObjectId

이 페이지의 내용