2
: books : [{ stars: 10, valid: true }, { stars: 24, valid: false }, { stars: 76, valid: true }, ...]
이다 간단한 계산 평균 :MongoDB 집계에서 컬렉션의 상위 20 % 평균을 어떻게 계산합니까? 같은 모음에서
db.books.aggregate([
{ $match : {
valid: true
}},
{ $group : {
_id: null,
avg: { $avg: "$stars" } // <- How calculate $avg of top 20%?
}}
])
하지만, 대신 모든 별 평균의 별 상위 20 %의 평균 원한다면?
PS : 알고 모음 (유효 : TRUE)없이 크기, 내 예와는 달리, 나는 많이 수행하기 때문에 $unwind
OBS : 당신은 두 개의 질의를 해고 할 필요가
> db.version()
2.4.10
상위 20 %를 의미합니까? 'star' 속성 값 또는 'valid' 속성이 true 인 컬렉션의 상위 20 % 레코드를 기반으로 별의 상위 20 %를 찾습니다. – BatScream