2014-01-30 3 views
0

저는 CouchDb/ektorp를 처음 사용합니다. 하지 ID하지만 다른 속성에 의해 각 문서의 최신 revison을 얻을 수있는 방법이 있나요문서의 최신 개정판을 얻는 방법

@View(name = "avg_sofa_size", map = "function(doc) {...}", reduce = "function(doc) {...}") 

다음 ektorp 문서에 따르면이 같은 주석을 통해 CouchDB를 뷰를 생성 할 수 있습니까? < - java 특정이 아닙니다.

그리고 가능하다면 id가 아닌 하나의 문서 만 가져오고 그 뷰의 다른 속성을 가져 옵니까? < - ektorp/자바

Thakns

답변

1

각 문서의 최신 revison을 얻을 수있는 방법이 있나요?

GET http://localhost:5984/mydb/doc-123 

반환의 최신 버전 문서를-123

GET http://localhost:5984/mydb/doc-123?rev=946B7D1C 

는 doc-의 특정 버전을 반환 특정 개정을 요청하지 않는 한

소파는 항상 당신에게 최신 버전을 제공합니다 123. (개정판은 충돌 해결을 위해서만 소파에 보관됩니다. 압축 중에 제거되어 복제되지 않으므로 반드시 거기에 의지해서는 안됩니다.)

그리고 가능하면 id 해당보기

id로 문서를 가져 오려면보기를 사용할 필요가 없습니다. Sofa 다른 대답에 명시된 바와 같이 CouchDbDocument

+0

답변을 주셔서 감사합니다.하지만 그렇게 할 수 있음을 알고 있습니다. 그러나 두 경우 모두 id 나 rev에 대한 지식이 필요합니다. 그래서 나는 그러한 이름을 가지지 않고 고유 한 이름 인 CouchDBSupportRepository와 같은 것을 쿼리합니다. 그 이름을 가진 문서의 수정 목록을 항상 보게 될 것입니다. – Tarken

+0

CouchDBSupportRepository가 무엇인지 모르겠지만 뷰를 쿼리 할 때 수정 목록이 아닌 문서 목록을 얻을 것입니다. –

1

를 확장하는 자바 클래스가

Sofa sofa = db.get(Sofa.class, id, rev); 

, 당신은 항상 최신 버전의 경우와 문서를 얻을 것이다 : 당신이 ektorp과 같은 것을 할 할 것 같은데 당신은 명시 적으로 버전을 지정하지 않습니다.

Sofa sofa = db.get(Sofa.class, id); 
관련 문제