2016-08-12 49 views
2

我一直在挖掘书架文档,但找不到足够的信息从数据库中获取5个随机用户。现在,以下代码检索所有用户。Bookshelf - 从数据库中获取随机条目

User.fetchAll().then((users) => { 

}); 

但是,是否可以这样做?

User.take(5).random().get().then((users) => { 
    // random 5 users in users collection 
}); 

我真的不想写原始SQL,但我很好,如果有必要使用.query回调做这里面ORM。

+0

hi @Doge,您正在使用哪个数据库? – absolux

回答

3

从lodash引入的包含方法中有一个shuffle方法。

User.shuffle().take(5).get().then((users) => { 
    // random 5 users in users collection 
}); 
+0

我的数据库中有大约100k条目,所以我不能依赖收集方法。它必须直接在SQL中完成。 – Aris

+0

这改变了问题。你将不得不放入原始查询并使用http://stackoverflow.com/questions/19412/how-to-request-a-random-row-in-sql中的内容 – Gangstead

相关问题