Rethinkdb:Chain getAll & between

Rethinkdb: Chain getAll & between

链接 getAllbetween 方法时出现 RqlRuntimeError: Expected type TABLE_SLICE but found SELECTION: 错误。

r.db('mydb').table('logs') .getAll('1', {index: 'userId'}) .between(r.time(2015, 5, 1, 'Z'), r.time(2015, 5, 4, 'Z'), {index: 'createdAt'} )

在查询属于 userId=1createdAt 介于两个日期之间的数据时,有没有办法使用 index(es)?据我了解 filter 不使用索引。

你不能像那样使用两个索引,但你可以创建一个复合索引:

r.table('logs').indexCreate('compound', function(row) {
  return [row('userId'), row('createdAt')];
})
r.table('logs').between([1, firstTime], [1, secondTime], {index: 'compound'})