3
여러 개의 숫자 열이있는 검토 테이블이 있습니다. 한 번 쿼리로 모든 열의 평균을 계산하고 싶습니다. Rethinkdb가 하나의 쿼리에서 여러 개의 평균을 실행합니다.
{
foo : 2,
bar : 5,
foobar : 10
},
{
foo : 4,
bar : 3,
foobar : 12
}
그때 내가 한 쿼리에서 각 컬럼에 대한 평균을 좀하고 싶습니다 :
그래서 경우 테이블처럼 보인다. 각 열에
r.table('stats').avg('foo')
하지만 난 그냥 하나 개의 쿼리에서이 작업을 수행하고 하나의 객체로로 매핑하고 싶습니다 : 나는 내가 할 수있는 것을 알고있다.
방법에 대한 아이디어가 있으십니까? 기록이 모든 필드가 할 수있는 경우
r.table("stats").map(function(row){
return {foo : row("foo"), bar : row("bar") , foobar : row("foobar"), count : 1};
}).reduce(function(left, right){
return {foo : left("foo").add(right("foo")), bar : left("bar").add(right("bar")), foobar : left("foobar").add(right("foobar")), count : left("count").add(right("count"))};
}).do(function (res) {
return {
foo: res('foo').div(res("count")),
bar: res('bar').div(res("count")),
foobar: res('foobar').div(res("count"))
};
})
, 당신은 각 필드에 대한 map
작동 count
을 분리 할 수 있습니다 :
고마워요, 그 속임수를했습니다. – John