0

我有两个“表”,例如:

  • 人(ID / 姓名)

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

4

1 回答 1

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方法根据需要进一步重命名字段,但这会为您提供所需的连接和分组!

如果您有任何问题,请告诉我。

于 2016-07-26T21:20:58.120 回答