정의
문서 그룹 에 있는 값의 샘플 표준 편차를 계산합니다.
입력 값이 모집단에 대해 일반화하려는 데이터 모집단의 샘플 나타내는 경우 $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 deployment 에 로드하는 방법에 대한 자세한 내용은 샘플 데이터 세트 로드를 참조하세요. 샘플 데이터베이스를 수정한 경우 이 페이지의 예제를 실행 하려면 데이터베이스를 삭제하고 다시 만들어야 할 수 있습니다.
이 예시 10 이상의 영화를 제작한 감독 중 IMDb 평점이 가장 다양한 감독 5명을 반환합니다.
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 결과를 반환합니다.