2014-09-08 3 views
2

나는 처리하고자하는 모든 항목이 포함 된 Viewobject를 반환하는 쿼리가 있습니다. 난 내 목적을 위해 하나의 항목을 사용할 수 있도록이보기 개체를 반복 할 수 있습니다 알아요.couchbase 쿼리로 뷰의 마지막 행 가져 오기

이제 첫 번째 행과 마지막 행만 추출하고 싶습니다. 첫 번째 행을 반복하고 중단 할 수 있기 때문에 첫 번째 행은 문제가되지 않습니다.

이제 내 질문은보기에서 마지막 요소를 얻는 방법입니다. 보기도 길이를 가지고 있기 때문에,

   for row in result_rows: 
        rowvalue = row[3].value 
        diagdata = rowvalue[models.DIAGDATA] 
        if models.ODOMETER in diagdata: 
         start_mileage = diagdata[models.ODOMETER] 
         start_mileage_found = True 
        break 

       row = result_rows[len(result_rows)] 
       rowvalue = row[3].value 
       diagdata = rowvalue[models.DIAGDATA] 
       if models.ODOMETER in diagdata: 
        end_mileage = diagdata[models.ODOMETER] 
        end_mileage_found = True 

내가 분명히 않을 수 두 번째 값을도 나는 인덱스 행에 액세스 할 수 있습니다

나는에 의해 시도했다. 마지막 요소를 얻는 방법에 대한 아이디어가 있습니까?

답변

1

서버가 결과를 역순으로 스트림 할 수 있도록 descending=True 옵션을 사용하여 다른 요청을 실행할 수 있습니다.

또는 iterator를 기본적으로 같은 값을 반복하는 배열로 변환 할 수 있습니다. 저는 파이썬 전문가가 아니지만, list(result_rows)이 당신을 대신해 줄 것 같습니다. 그리고 당신이 len(...)을하고있을 때 암시 적으로 그것을 할 것입니다. 목록으로 바꾸지 않고 행 수를 얻는 방법은 rows_returned입니다.

관련 문제