我有一个 RethinkDB 表,其中的文档如下所示:
[
{ "date": Mon Oct 05 2015 19:30:00 GMT+01:00, "category": 1, "name": "Alice" },
{ "date": Wed Oct 07 2015 14:00:00 GMT+01:00, "category": 2, "name": "Ben" },
{ "date": Mon Nov 16 2015 12:30:00 GMT+01:00, "category": 1, "name": "Charles" },
{ "date": Sun Nov 01 2015 22:15:00 GMT+01:00, "category": 1, "name": "Donald" }
(...)
]
我正在尝试编写一个查询,以便按月/年对我的数据进行分组,然后(在每个组内)按类别分组,然后对子组进行一些聚合。
基于 ReQL 文档 ( https://www.rethinkdb.com/api/javascript/group/ ) 中给出的示例,这是第一步:
r.table("seances").group([r.row("date").month(), r.row("date").year()])
我被困在这里。与
group(r.row("category"))
链接给出错误消息(无法在 group
的输出上调用 group
)。调用 ungroup
第二个之前 group
也不起作用。知道如何做到吗? (ReQL 看起来非常强大,但与我习惯的 lodash 完全不同......)。
最佳答案
你可以写 sequence.group(FIRST_GROUPING).ungroup().merge(function(row) { return {reduction: row('reduction').group(SECOND_GROUPING).ungroup()}; })
.
关于RethinkDB 嵌套分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38325832/