정의
문서 그룹 값의 모집단 표준 편차를 계산합니다. 값이 표현하려는 데이터의 전체 모집단을 포함하고 일반화하지 않으려면 $stdDevPop를 사용하세요.
값이 모집단의 샘플 만을 나타내는 경우 $stdDevSamp를 대신 사용합니다.
$stdDevPop 축적자 다음 단계에서 사용할 수 있습니다.
참고
명확화
이 페이지에서는 축적자 사용되는 $stdDevPop 에 대해 설명합니다. 축적자는 입력 문서 그룹 에서 애그리게이션된 값을 반환합니다.
다음과 같은 다른 컨텍스트에서도 $stdDevPop를 사용할 수 있습니다.
$stdDevPop (expression)배열 에 있는 숫자 값의 모집단 표준 편차를 반환합니다.$stdDevPop (window function)는$setWindowFields단계에서 특정 창 에 있는 문서 값의 모집단 표준 편차를 계산하는 데 사용됩니다.
구문
{ $stdDevPop: <expression> }
표현식에 대한 자세한 내용은 표현식을 참조하세요 .
행동
결과 유형
$stdDevPop 입력 값의 모집단 표준 편차를 double 로 반환합니다.
숫자가 아니거나 누락된 값
$stdDevPop 누락된 값을 포함하여 숫자가 아닌 값을 무시합니다. 모든 입력 값이 숫자가 아닌 경우 $stdDevPop은 null을 반환합니다.
단일 값
입력이 단일 숫자 값으로 구성된 경우 $stdDevPop은 0을 반환합니다.
예시
이 페이지의 예제에서는 sample_mflix 데이터 세트의 데이터를 사용합니다. 이 데이터 세트를 자체 관리형 MongoDB deployment 에 로드하는 방법에 대한 자세한 내용은 샘플 데이터 세트 로드를 참조하세요. 샘플 데이터베이스를 수정한 경우 이 페이지의 예제를 실행 하려면 데이터베이스를 삭제하고 다시 만들어야 할 수 있습니다.
다음 예시 영화를 감독별로 그룹화하고 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 결과를 반환합니다.