我有一张桌子"帖子"使用"时间戳"。
现在我希望所有发帖超过1条的用户获得除最新帖子之外的所有帖子。
使用此查询,我可以成功检查有超过1个帖子的用户:
r.table("post")
.group('userId')
.count()
.ungroup()
.filter(r.row("reduction").gt(1))
我可以通过
获取特定用户的最后一篇文章r.table("post")
.filter({userId: 'xxx'})
.max('timestamp')
现在我需要将它们联系在一起,然后将每行的时间戳与最大值('时间戳')进行比较,看看它们是否不相等。以下是我所拥有的,但它显然是错误的
.filter(r.row('timestamp').ne(r.row('timestamp').max('timestamp')('timestamp')))
我是如何将所有这些结合在一起的?
答案 0 :(得分:1)
这样的事情应该有效:
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]
。