我有一个如下所示的RQL查询:
r.table('builds')
.orderBy(r.desc('createdDate'))
.limit(100)
.eqJoin('userId', r.table('users'))
.run(connection)
builds
和users
都有createdDate
字段。我希望结果按createdDate
表的builds
排序,但实际上我按照users
表的顺序获取结果。
如何指定我要使用builds
表createdDate
?
答案 0 :(得分:0)
在加入之后,您应该拥有一个“正确的”'包含您可以操作的用户的对象。类似的东西:
r.table('builds')
.eqJoin('userId', r.table('users'))
.orderBy(r.desc('right.createdDate'))
.limit(100)
.run(connection)
答案 1 :(得分:0)
我的问题有些清楚解释in the RethinkDb docs。查找涉及without()
我的查询最终看起来像这样:
r.table('builds')
.eqJoin('userId', r.table('users'))
.without({right: 'createdDate'})
.zip()
.orderBy(r.desc('createdDate'))
.limit(100)
.run(connection)
以下似乎也有效,但不建议使用ordered
。
r.table('builds')
.orderBy(r.desc('createdDate'))
.eqJoin('userId', r.table('users'), {ordered: true})
.limit(100)
.run(connection)
虽然这有效,但我并不完全明白。任何其他解释或答案都是完全受欢迎的。