rethinkdb - RethinkDB 从行生成键值对
问题描述
我有以下查询,它返回每个状态的请求数 -
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 中进行这种转换,如果它可能的话?
解决方案
r.db("test").table("request").group("status").count()
.ungroup()
.map(function(x){ return [x('group'), x('reduction')]; })
.coerceTo("object")
- 当您想继续处理返回对象时,您需要先调用该
ungroup()
函数 然后,您需要使用 map 函数将结果转换为:
[[“接受”,1],[“拒绝”,1],[“待定”,1]]
最后,您只需将其转换为带有 的 json 对象
coerceTo("object")
,它会返回您所需的格式:{“接受”:1,“拒绝”:1,“待定”:1}
推荐阅读
- apache-spark - 读入火花时将字符串列转换为时间戳
- puppeteer - Puppeteer 的流类型定义阻止使用默认导出?
- java - 在Java中每X秒发送一次UDP消息
- java - 使用 SingleColumnValueFilter 在 hbase 过滤器中不比较 int 值
- cron - 无法使用指定时间的 cron 包执行 cron 作业
- ionic4 - 当离子选择器打开时,各个列项目都堆叠在一起
- python-3.x - 检测数据框中的文件结尾(列和行)并删除所有额外的
- c++ - 声明数组时,它们的内存地址有什么值
- c++ - 当屏幕缩放不是 100% 时,将 GDI+ 图元文件保存为 BMP 裁剪
- java - 从 Excel 中的表格生成图形