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> }

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

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

피연산자가 배열 로 해석되는 경우 $avg는 피연산자를 숫자가 아닌 값으로 처리합니다.

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

db.sales.insertMany( [
{ _id: 1, item: "abc", price: 10, quantity: 2, date: ISODate("2014-01-01T08:00:00Z") },
{ _id: 2, item: "jkl", price: 20, quantity: 1, date: ISODate("2014-02-03T09:00:00Z") },
{ _id: 3, item: "xyz", price: 5, quantity: 5, date: ISODate("2014-02-03T09:05:00Z") },
{ _id: 4, item: "abc", price: 10, quantity: 10, date: ISODate("2014-02-15T08:00:00Z") },
{ _id: 5, item: "xyz", price: 5, quantity: 10, date: ISODate("2014-02-15T09:12:00Z") }
] )

다음 작업은 다음을 수행합니다.

  1. item 필드 기준으로 문서를 그룹화합니다.

  2. $avg 축적자 사용하여 각 그룹 의 평균 수량과 평균 수량을 계산합니다.

db.sales.aggregate(
[
{
$group:
{
_id: "$item",
avgAmount: { $avg: { $multiply: [ "$price", "$quantity" ] } },
avgQuantity: { $avg: "$quantity" }
}
}
]
)

출력:

[
{ _id: 'xyz', avgAmount: 37.5, avgQuantity: 7.5 },
{ _id: 'abc', avgAmount: 60, avgQuantity: 6 },
{ _id: 'jkl', avgAmount: 20, avgQuantity: 1 }
]
이 페이지 평가하기

이 페이지의 내용