我想做这样的事情:
r.db('research').table('books').group('year').sum('size_bytes').count().run()
得到这样的结果:
{
{"group": 1901,
"reduction_size_bytes": 13929238,
"reduction_count": 192},
{"group": 1902,
"reduction_size_bytes": 21194721,
"reduction_count": 223},
...
}
目前,我只知道如何一次“减少”,例如size_bytes之和:
r.db('research').table('books').group('year').sum('size_bytes').run()
结果:
{
{"group": 1901,
"reduction": 13929238},
{"group": 1902,
"reduction": 21194721},
...
}
答案 0 :(得分:2)
您可以运行多个聚合,但必须手动执行(例如,您不能使用sum)。
这就是你要找的东西:
r.db('research').table('books').group('year').map(function(book) {
return {
size_bytes: book("size_bytes"),
count: 1
}
}).reduce(function(left, right) {
return {
size_bytes: left("size_bytes").add(right("size_bytes")),
count: left("count").add(right("count"))
}
}).run()