2012-03-10 3 views
0

저는 CouchDB를 처음 사용하고 있으며 앱에서 사용자의 최근 50 항목을 가져 오려고합니다. 항목에 대한 문서를 가져 오는 뷰를 만들었고 key 매개 변수를 사용하여 특정 사용자의 문서 만 가져오고 제한 쿼리를 사용하여 50 개의 항목 만 가져올 수 있습니다.couchdb 값, 제한 및 시간순으로 정렬

그러나 문서를 주문할 때 새로운 Date(). getTime()을 저장하는 "timestamp"필드를 사용하여 문서를 주문하고 싶습니다. 항목. CouchDB에서 가능합니까? 그렇다면 어떻게해야합니까?

답변

1

[username, datetime] 형식의 배열과 같이 더 복잡한 키를 방출하여이 데이터를 얻을 수 있습니다 (적어도 데이터에 미래 날짜가없는 경우). 그런 다음 예를 들어 [ 'johndoe', 1331388874195]의 시작 키를 사용하여 내림차순으로 문서를 가져오고 50으로 제한하는보기를 만듭니다. 날짜는 분명 현재 날짜 여야합니다. CouchDB의 collation은 사용자가 결과를 먼저 주문한 다음 날짜순으로 주문합니다.

+0

감사합니다. 그 아름답게 일한 :) 나는 당신이 알고있는 열쇠로 배열을 사용할 수 있다는 것을 몰랐다! 다시 한번 감사드립니다! –

+0

oops, 작은 버그를 발견했습니다. couchdb가 'johndoe59'처럼 'johndoe'로 시작하는 사용자 이름의 게시물을 반환하지 못하도록 [ 'johndoe', 0]의 끝 키도 포함시켜야합니다. –

관련 문제