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