컬렉션의 모든 속성에 대해 집계 파이프 라인 연산자를 적용해야하는 시나리오가 있습니다. 여기에 내가 어떻게 그것을 달성했습니다.mongodb에서 전체 컬렉션에 대한 집계 파이프 라인 연산자를 적용하는 방법
model = {
age: Number ,
risk: Number,
retireage: Number,
wealth: Number
};
평균을 구해야합니다.
내가 무슨 짓을 :
$group :{
_id: '',
age : {$avg : {$sum: ['$age',value]}},
risk : {$avg : {$sum: ['$risk',value]}},
retireage : {$avg : {$sum: ['$retireage',value]}},
wealth : {$avg : {$sum: ['$wealth',value]}},
}
내가 컬렉션의 모든 특성에 대해 한 번에 {$avg: {$sum:'$this'}}
을 적용 할 수있는 방법이있다.
은 평균 할 필요가있는 모든 속성을 알지 못하는 문제입니까? 아니면 단지 그들 중 많은 수가 있고 당신은 각각 비슷한 것처럼 보이기를 원하지 않습니까? –
왜 $ sum과 $ avg가 필요합니까? 단일 숫자의 평균을 취하는 것은 그 숫자 일뿐입니다. 그래서 당신이 계산하려고하는 것을 영어로 설명 할 수 있습니까? –
두 번째 메모에 대한 답변을 편집했습니다. 첫 번째 코멘트는 - 예, 모든 속성을 알고 있지만 속성이 20 개 이상이므로 결과를 얻기 위해 20 줄을 쓰고 싶지는 않습니다. 또한 $ trunc을 수행해야합니다. $ trunc가 $ group 내부에서 지원되지 않기 때문에 $ project 안에 또 다른 20 줄을 써야합니다. 그래서 각각의 속성에 별도로 적용되는 문을 작성하는 방법이 있는지 궁금합니다. –