2016-08-12 7 views
2

Bookshelfのドキュメントを掘り下げましたが、5人のランダムなユーザーをデータベースから取得するのに十分な情報が見つかりませんでした。今、次のコードはすべてのユーザーを取得します。Bookshelf - データベースからランダムなエントリを取得する

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

}); 

ただし、このようなことは可能ですか?

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

私は実際に生のSQLを記述する必要はありませんが、私は、必要に応じてコールバックを使用して.query ORMの内側にそれをやって元気です。

+0

こんにちは@Doge、どのデータベースを使用していますか? – absolux

答えて

3

ロダッシュから持ち込まれた付属のメソッドに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

関連する問題