我有以下查询,该查询返回每种状态的请求数-
r.db.table("request").group("status").count()
结果-
[
{
"group": "ACCEPTED",
"reduction": 1
},
{
"group": "DECLINED",
"reduction": 1
},
{
"group": "PENDING",
"reduction": 1
}
]
如何使用rethinkdb查询(javascript)将结果转换为以下内容?
{
"ACCEPTED": 1,
"DECLINED": 1,
"PENDING": 1
}
当前,我通过在api端迭代结果来实现这一点。但是我想在rethinkdb中进行这种转换(如果可能的话)?
答案 0 :(得分:1)
r.db("test").table("request").group("status").count()
.ungroup()
.map(function(x){ return [x('group'), x('reduction')]; })
.coerceTo("object")
ungroup()
函数然后您需要使用地图 函数将结果转换为:
[[“接受”,1],[“拒绝”,1],[“待处理”,1]]
最后,您只需使用coerceTo("object")
将其转换为json对象,即可返回所需的格式:
{ “已接受”:1 “拒绝”:1, “待处理”:1 }