Rethinkdb 如何通过流中的最后一个用户获取序列中第一个出现的用户?

Rethinkdb 如何通过流中的最后一个用户获取序列中第一个出现的用户?,rethinkdb,Rethinkdb,考虑以下流(按时间戳索引): George是最后一个用户,所以这就是我感兴趣的用户,他第一次出现在一行中(在“系列”中?)是5:{name:“George”,timestamp:5} 如何使用rql获取此文档?目前在ReQL中没有很好的方法来实现此目的,但我要做的是: r.table('test').filter({name: 'George'}).coerceTo('array').do(function(arr) { return r.concatMap(arr, arr.skip(1)

考虑以下流(按时间戳索引):

George是最后一个用户,所以这就是我感兴趣的用户,他第一次出现在一行中(在“系列”中?)是5:
{name:“George”,timestamp:5}


如何使用rql获取此文档?

目前在ReQL中没有很好的方法来实现此目的,但我要做的是:

r.table('test').filter({name: 'George'}).coerceTo('array').do(function(arr) {
  return r.concatMap(arr, arr.skip(1), function(cur, next) {
    return r.branch(cur('timestamp').eq(next('timestamp')), [cur], [])
  })(0);
});

目前在ReQL中并没有一个很好的方法可以做到这一点,但下面是我要做的:

r.table('test').filter({name: 'George'}).coerceTo('array').do(function(arr) {
  return r.concatMap(arr, arr.skip(1), function(cur, next) {
    return r.branch(cur('timestamp').eq(next('timestamp')), [cur], [])
  })(0);
});

强制('array')是否意味着始终将所有行转换为n大小的数组。。?如果是这样的话,它看起来非常广阔。/是的,是的。我想不出一种更便宜的方法来处理当前的一组ReQL术语,但可能有一种方法存在。强制('array')不是意味着在任何时候都将所有行转换为n大小的数组吗。。?如果是这样的话,它看起来非常广阔。/是的,是的。我想不出一种更便宜的方法来处理当前的一组ReQL术语,但也许有一种方法是存在的。