2010-03-12 2 views
6

값에 의해 뷰 결과를 정렬 할 수 있습니까? 감소 된 값으로 뷰 결과를 정렬하는 방법은 무엇입니까? CouchDB

{ 
    "rows": [ 
     {"key":"bob","value":2}, 
     {"key":"john","value":3}, 
     {"key":"zztop","value":1} 
    ] 
} 

는이 같은 결과를 싶어요 :

{ 
    "rows": [ 
     {"key":"zztop","value":1}, 
     {"key":"bob","value":2}, 
     {"key":"john","value":3} 

    ] 
} 
+0

PHP 또는 JS에서이 작업을 수행하고 있습니까? –

+0

Ruby on Rails에서 CouchRest gem을 사용하고 있습니다. 그러나 json은이 간단한 예제보다 큽니다. –

+1

는지도 기능이 어떻게 보이는지 보여줍니다 –

답변

0
당신은 단지 각 개체의 value 특성에 의해 rows 배열을 정렬 할

? js sort 메소드에 대한 사용자 정의 비교 방법을 지정할 수 있습니다.

myResult.rows.sort(function (a, b) { 
    return parseInt(a.value,10) - parseInt(b.value,10); 
}); 

파라미터 ab는 각각 rows 배열 엔트리 것이다. 메서드는 int 값을 0, 0 또는 0보다 큰 값으로 반환합니다. 0보다 큰 값은 이 b 전에 주문되어야 함을 의미하고, 0보다 작은 값은 0이며, 0은 동등 함을 의미합니다.

+0

질문은 CouchDB에서이를 수행하는 방법에 관한 것입니다. 물론 결과를 가져온 후에 수동으로 정렬 할 수 있습니다. 그러나 예를 들어, 메모리에 저장할 수있는 것보다 많은 결과가 반환되면 어떻게 될까요? – lovasoa

관련 문제