gpt4 book ai didi

rethinkdb - 在 RethinkDB 中随机排序

转载 作者:行者123 更新时间:2023-12-01 23:45:11 29 4
gpt4 key购买 nike

我想在 RethinkDB 中随机排序文档。这样做的原因是我返回了n组文档,并且每组必须在结果中按顺序出现(所以属于一个组的所有文档应该放在一起);我需要随机选择一个文档,属于结果中的第一组(您不知道结果中的第一组是哪一个 - 第一组可能是空的,因此不会为它们检索任何文档)。

我找到的解决方案是在连接到结果之前对每个组进行随机排序,然后始终从结果中选择第一个文档(因为它将是随机的)。但我很难随机排序这些组。如果有任何提示或更好的解决方案,我们将不胜感激。

最佳答案

如果您想随机订购一些文档,您可以使用 .orderBy并使用 r.random 返回一个随机数.

r.db('test').table('table')
.orderBy(function (row) { return r.random(); })

如果这些文档在一个组中,而你想在组内随机分配它们,你可以在 group 语句之后调用 orderBy

r.db('test').table('table')
.groupBy('property')
.orderBy(function (row) { return r.random(); })

如果你想随机化组的顺序,你可以调用 orderBy after calling .ungroup

r.db('test').table('table')
.groupBy('property')
.ungroup()
.orderBy(function (row) { return r.random(); })

关于rethinkdb - 在 RethinkDB 中随机排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29682716/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com