AI 에이전트의 경우: 문서 인덱스는 https://www.mongodb.com/ko-kr/docs/llms.txt에서 사용할 수 있으며, 모든 페이지의 마크다운 버전은 어떤 URL 경로에 .md를 추가하여 사용할 수 있습니다.
See how MongoDB 9.0 delivers up to 2x higher throughput.
MongoDB Branding Shape
Register now >
Docs Menu

$avg (표현식)

$avg

숫자 배열 요소의 평균을 반환합니다.

참고

명확화

이 페이지에서는 배열 에 있는 숫자 요소의 평균을 반환하는 표현식 으로 $avg을 사용하는 경우에 대해 설명합니다.

다음과 같은 다른 컨텍스트에서도 $avg를 사용할 수 있습니다.

표현식 으로 사용되는 경우 $avg은 다음 구문 중 하나를 가집니다:

{ $avg: <expression> }

이 구문에서 피연산자는 배열 로 해석되는 단일 표현식 입니다. $avg은 배열 트래버스하고 배열의 숫자 값의 평균을 반환합니다. 예시 들어, { $avg: "$testScores" }은 testScores 배열 필드 에 있는 숫자 값의 평균을 반환합니다.

{ $avg: [ <expression1>, <expression2> ... ] }

이 구문에서 입력 배열 의 각 표현식 단일 숫자 값입니다. $avg는 개별 입력 값의 평균을 반환합니다. 입력 표현식 중 하나라도 배열 로 해석되는 경우 $avg 은 배열 트래버스하지 않고 대신 배열 숫자가 아닌 값으로 처리합니다.

기본값 반환 유형은 더블입니다. 하나 이상의 입력 값이 10진수인 경우 반환 유형은 10진수입니다.

$avg 누락된 값을 포함하여 숫자가 아닌 값을 무시합니다. 모든 입력 값이 숫자가 아닌 경우 $avg은 null을 반환합니다.

다음 문서로 students 컬렉션을 생성합니다.

db.students.insertMany( [
{ _id: 1, quizzes: [ 10, 6, 7 ], labs: [ 5, 8 ], final: 80, midterm: 75 },
{ _id: 2, quizzes: [ 9, 10 ], labs: [ 8, 8 ], final: 95, midterm: 80 },
{ _id: 3, quizzes: [ 4, 5, 5 ], labs: [ 6, 5 ], final: 78, midterm: 70 }
] )

다음 작업은 $project 단계에서 $avg을 사용하여 다음 필드에 대한 평균을 계산합니다.

  • quizzes

  • labs

  • final 및 midterm의 결합 평균

db.students.aggregate( [
{
$project: {
quizAvg: { $avg: "$quizzes"},
labAvg: { $avg: "$labs" },
examAvg: { $avg: [ "$final", "$midterm" ] }
}
}
] )

출력

[
{ _id: 1, quizAvg: 7.666666666666667, labAvg: 6.5, examAvg: 77.5 },
{ _id: 2, quizAvg: 9.5, labAvg: 8, examAvg: 87.5 },
{ _id: 3, quizAvg: 4.666666666666667, labAvg: 5.5, examAvg: 74 }
]
이 페이지 평가하기

이 페이지의 내용