2012-11-02 6 views
0

나는 우리가 다음 예를 찾을 수 있습니다 루비하여 MongoDB는

Example of sorting from official site의 MongoDB를 드라이버에서 정렬 multifield하는 방법을 궁금해 종류의 multifield

coll.find.sort(:i,:j) 

이 작동하지 않았다되어

루비 드라이버에서 다방면 정렬을하는 올바른 방법을 알고 계십니까?

답변

1

정렬 방법은 단일 필드 정렬을위한 키 또는 복수 필드 정렬을위한[key, direction] 쌍의 배열을 사용할 수 있습니다. 대답은

우리가 해시와 하나

hash_as_sort_parameters({:field1 => :asc, "field2" => :desc}) 

또는

array_as_sort_parameters([["field1", :asc], ["field2", :desc]]) 

첫 번째 방법을 사용할 수 있습니다

을 발견 짧은 조사 후

coll.find.sort(["score", 1], ["created_at", 1]) 
+0

다음과 같이 사용할 수도 있습니다 : 오름차순 및 : 내림차순, 정수에 대해서는 확실하지 않지만 쓴 이후로 나는 너무 효과가 있다고 생각합니다. 이 문서는 실제로 약간 혼란 스럽지만 sort (: i => : desc)를 시도했지만 배열 구문을 사용해야한다는 오류가 발생했습니다. – mrbrdo

+0

ruby ​​1.9.3p194 및 mongo 1.9.0부터 이상한 오류가 발생하여 실패합니다. 정렬 메소드에 배열 배열을 전달해야합니다. coll.find.sort ([[score ", 1], ["created_at "], 1]]). – Fryie

0

: 여기에 당신의 모습거야 웬일인지 나를 위해 일하지 않는다. 그러나 두 번째 것은 완전 ok 다