我试图从我的用户集合中获得用户列表,但需要从10k +中随机获得20个用户。什么是最干净和最有效的方法?从mongodb集合中获取随机记录的最简单和最有效的方法是什么?
我想更新用户{随机:的Math.random()}的每一分钟,然后通过随机排序....
是否有这样做的更清洁/更有效的方式?
我试图从我的用户集合中获得用户列表,但需要从10k +中随机获得20个用户。什么是最干净和最有效的方法?从mongodb集合中获取随机记录的最简单和最有效的方法是什么?
我想更新用户{随机:的Math.random()}的每一分钟,然后通过随机排序....
是否有这样做的更清洁/更有效的方式?
你可以得到元素的列表,只需更改偏移
User.all.offset(rand(User.count).limit(20)
它看起来像你的解决方案是相当不错的:http://cookbook.mongodb.org/patterns/random-attribute/
这很好,但请注意页面中提到的警告*“对于该密钥,随机属性不能被认为是在0和1之间均匀分布的。实际结果是,结果中的某些文档比其他文档更常出现” * –
'offset'为大的值是缓慢的。 –