一起使用group和indexed max

时间:2016-05-19 13:48:25

标签: rethinkdb nosql

代码:

r.db('dealdb').table('messages')
    .filter({ dealId : request.dealId })
    .group('conversationId')
    .max({ index: 'sendDate' })
    .ungroup()
    .getField('reduction')

错误:

Expected type TABLE but found SEQUENCE

所以我的理解是group返回一个序列,max期望一个表。

但是,没有索引的max按预期工作

r.db('dealdb').table('messages')
    .filter({ dealId : request.dealId })
    .group('conversationId')
    .max('sendDate')
    .ungroup()
    .getField('reduction')

那么为什么索引max在序列中不起作用而非索引max呢?如何使用索引max

来实现此功能

1 个答案:

答案 0 :(得分:0)

带索引的

max仅适用于表级。这意味着这将有效:

r.db('dealdb').table('messages').max({ index: 'sendDate' })

但是当我们调用流或选择时,我们不能再使用索引了。 这就是为什么它不会像你看到的那样工作的原因。

如果没有index选项,我们可以在任何数组,流,选择和表上调用max