Rethinkdb 过滤器对较早的查询
Rethinkdb filter on an earlier query
我有一个 table "posts" 和 "timestamp"。
现在我想从拥有超过 1 个 post 的所有用户那里获取除最近的 post 之外的所有 post。
通过这个查询,我可以成功地检查拥有超过 1 个的用户 post:
r.table("post")
.group('userId')
.count()
.ungroup()
.filter(r.row("reduction").gt(1))
我可以通过
获取特定用户的最后 post
r.table("post")
.filter({userId: 'xxx'})
.max('timestamp')
现在我需要以某种方式将它们联系在一起,然后将每一行的时间戳与最大值 ('timestamp') 进行比较,看看它们是否不相等。以下是我的,但显然是错误的
.filter(r.row('timestamp').ne(r.row('timestamp').max('timestamp')('timestamp')))
有什么建议可以让我将所有这些整合在一起吗?
像这样的东西应该可以工作:
r.table('post')
.group({
index: 'userId'
})
.ungroup()
.filter(function(doc) {
return doc('reduction').count().gt(1)
})
.group('group')('reduction')
.nth(0)
.orderBy(
r.desc('timestamp')
).skip(1)
保留语法错误;我使用 python 构建了这个查询,然后将其转换为 javascript。特别不确定 .nth(0)
部分,从未在 javascript 中使用过它。在 python 中只是 [0]
.
我有一个 table "posts" 和 "timestamp"。
现在我想从拥有超过 1 个 post 的所有用户那里获取除最近的 post 之外的所有 post。
通过这个查询,我可以成功地检查拥有超过 1 个的用户 post:
r.table("post")
.group('userId')
.count()
.ungroup()
.filter(r.row("reduction").gt(1))
我可以通过
获取特定用户的最后 postr.table("post")
.filter({userId: 'xxx'})
.max('timestamp')
现在我需要以某种方式将它们联系在一起,然后将每一行的时间戳与最大值 ('timestamp') 进行比较,看看它们是否不相等。以下是我的,但显然是错误的
.filter(r.row('timestamp').ne(r.row('timestamp').max('timestamp')('timestamp')))
有什么建议可以让我将所有这些整合在一起吗?
像这样的东西应该可以工作:
r.table('post')
.group({
index: 'userId'
})
.ungroup()
.filter(function(doc) {
return doc('reduction').count().gt(1)
})
.group('group')('reduction')
.nth(0)
.orderBy(
r.desc('timestamp')
).skip(1)
保留语法错误;我使用 python 构建了这个查询,然后将其转换为 javascript。特别不确定 .nth(0)
部分,从未在 javascript 中使用过它。在 python 中只是 [0]
.