정의
문서 그룹의 값의 모집단 표준 편차를 계산합니다. 값이 표현하려는 전체 데이터 모집단을 포함하고 일반화하고 싶지 않은 경우 $stdDevPop을(를) 사용합니다.
값이 모집단의 샘플만 나타내는 경우 $stdDevSamp를 대신 사용합니다.
$stdDevPop 축적자는 다음 단계에서 사용할 수 있습니다.
참고
명확화
이 페이지에서는 $stdDevPop을 축적자로 사용할 때에 대해 설명합니다. 축적자는 입력 문서 그룹 전체에서 집계된 값을 반환합니다.
$stdDevPop를 다른 다음 문맥에서도 사용할 수 있습니다:
$stdDevPop (expression), 배열에서 숫자 값의 모집단 표준 편차를 반환합니다.$stdDevPop (window function)는$setWindowFields단계에서 특정 창의 문서에서 값의 모집단 표준 편차를 계삱하는 데 사용됩니다.
구문
{ $stdDevPop: <expression> }
표현식에 대한 자세한 내용은 표현식을 참조하세요 .
행동
결과 유형
$stdDevPop 입력 값의 모집단 표준 편차를 double 로 반환합니다.
숫자가 아니거나 누락된 값
$stdDevPop 누락된 값을 포함하여 숫자가 아닌 값을 무시합니다. 모든 입력 값이 숫자가 아닌 경우, $stdDevPop이 null을 반환합니다.
단일 값
입력이 단일 숫자 값으로 구성된 경우, $stdDevPop는 0을 반환합니다.
예시
이 페이지의 예시는 sample_mflix 데이터 세트의 데이터를 사용합니다. 이 데이터 세트를 자체 관리형 MongoDB 배포서버에 로드하는 방법에 대한 자세한 내용은 샘플 데이터세트 로드를 참조하세요. 샘플 데이터베이스를 수정한 경우, 이 페이지의 예시를 실행하려면 데이터베이스를 제거하고 다시 생성해야 할 수 있습니다.
다음 예시에서는 디렉터별로 영화를 그룹화하고, 최소 10 개의 영화를 보유한 디렉터 중에서 IMDb 평점이 가장 다양한 디렉터 5명을 반환합니다.
db.movies.aggregate( [ { $match: { directors: { $exists: true }, "imdb.rating": { $type: "double" } } }, { $unwind: "$directors" }, { $group: { _id: "$directors", movieCount: { $sum: 1 }, stdDevRating: { $stdDevPop: "$imdb.rating" } } }, { $match: { movieCount: { $gte: 10 } } }, { $sort: { stdDevRating: -1 } }, { $limit: 5 } ] )
이전 파이프라인:
$match를 사용하여directors필드와 숫자 IMDb 평점이 있는 영화를 필터링합니다.$unwind를 사용하여 영화 별 디렉터 별 문서 하나를 만듭합니다. 그러므로 각 디렉터-영화 쌍은 별도로 그룹화됩니다.$group를 사용하여 디렉터별로 그룹하고, 영화 수를 세고, 그리고imdb.rating에서$stdDevPop를 사용하여stdDevRating을 계산합니다.$match를 사용하여 최소 10 개의 영화를 보유한 디렉터만 유지합니다.$sort를 사용하여stdDevRating기준으로 내림차순으로 결과를 반환합니다.$limit을(를) 사용하여 상위 5 개 결과를 반환합니다.