2011-11-10 3 views
1

CouchDB에서 뷰 정렬의 이점을 얻으려고하고 있는데, 제 경우에 어떤 것이 잘못되었는지 확인할 수 있습니까?CouchDB 복합 키/뷰 정렬이 작동하지 않습니다.

|- Li 
|- test 
    |- tester 

입니다 CouchDB를에 : 그래서

{"_id":"root","name":"Li","completed":true}, 
{"_id":"102ef7e2e99db3983a3bb60a490015db","parent_id":"root","name":"test","completed":false}, 
{"_id":"102ef7e2e99db3983a3bb60a4900209e","parent_id":"102ef7e2e99db3983a3bb60a490015db","name":"tester","completed":false} 

첫째, 나는 그런 http://www.cmlenz.net/archives/2007/10/couchdb-joins

에 내놓고있어, 내가 예를 들어 PARENT_ID로 연결 트리를 구현하려면 , 나는 다음과 같은 관점을 정의했다 :

items : { 
    map : function(doc){ 
     emit([doc._id, 0], doc); 
     emit([doc.parent_id, 1], doc); 
    } 
} 

startKey = [ "root"]에 대한 쿼리가 두 개의 문서 루트 만 반환하고 직접 자식 만 반환하지만 쿼리는 모든 문서 (두 배로 된 문서)를 반환합니다. 즉, 키에 의한 필터링이 작동하지 않습니다.

무엇이 문제 일 수 있습니까?

그런 다음 쿼리 http://yo.iriscouch.com/cats/_design/app/_view/items?startKey=[%22root%22]없이 정확하게 같은 반환 http://yo.iriscouch.com/_utils/database.html?cats

에서 DB를 볼 수 있습니다 모든 인수, 즉 startKey가 무시 된 것처럼 보입니다.

행운도없이 startKey = [ "root", 0] & endKey = [ "root", 2] 시도했습니다.

감사합니다.

답변

관련 문제