【问题标题】:RethinkDB - Query with count and joinRethinkDB - 使用计数和连接查询
【发布时间】:2016-07-27 05:20:58
【问题描述】:
我有两个“表”,例如:
1 |约翰
2 |玛丽
3 |彼得
- 消息(ID / PERSON_ID / TEXT)
1 | 1 | '文字'
1 | 1 | '文本 2'
1 | 2 | '文本 3'
1 | 3 | '文字 4'
如何获取每个人的消息数量?就像:
(PERSON_ID / NAME / MESSAGES)
1 |约翰 | 2
2 |玛丽 | 1
3 |彼得 | 1
【问题讨论】:
标签:
rethinkdb
rethinkdb-javascript
【解决方案1】:
这应该可以解决问题:
r.db("so").table("messages")
.group(r.row('person_id')).count().ungroup()
.map((result) => {
return result.merge(r.db("so").table("users").get(result('group')));
})
结果如下所示:
[
{"group":1,"id":1,"name":"Dalan","reduction":2},
{"group":2,"id":2,"name":"Rodger","reduction":3}
]
您可以使用.merge 方法进一步重命名字段,但这会为您提供所需的连接和分组!
如果您有任何问题,请告诉我。