2016-08-12 2 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

안녕하세요 @ 도지, 어떤 데이터베이스를 사용하고 있습니까? – absolux

답변

3

로다시에서 가져온 포함 된 방법에는 shuffle 방법이 있습니다.

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

수집 방법에 의존 할 수 없기 때문에 데이터베이스에 약 100,000 개의 항목이 있습니다. 그것은 SQL에서 직접 수행되어야합니다. – Aris

+0

그 질문을 변경합니다. 원시 쿼리에 들어가서 http://stackoverflow.com/questions/19412/how-to-request-a-random-row-in-sql의 항목을 사용해야합니다. – Gangstead

관련 문제