2012-07-03 2 views
5

목록 기능을 작동 시키려면 고군분투하십시오. 나는 _show와 _view 함수로 잘 지내 왔지만 목록이 작동하지 않는 것, 또는 나는 무엇을해야하는지 오해 해왔다! (나는 바보의 가이드를 필요로 인정한다!)작동 할 CouchDB _list 함수가 없습니다.

내 설계 문서는 다음과 같습니다

{ 
    "_id": "_design/lists", 
    "_rev": "3-d22225b4a28a6ca11484723c3a37201b", 
    "language": "javascript", 
    "views": { 
     "variants": { 
      "map": "function(doc) { emit(doc.var, doc.number_of_results); }" 
     } 
    }, 
    "lists": { 
     "results": "function(head, req) { var row; while(row = getRow()) {send(row.value);}}" 
    } 
} 

나는 HTTP 입력하면 : // localhost를 : 5984는/MYDB/_design /리스트/_view/내가 변형을 같은 변형 이름의 목록을 얻을 :

...{"id":"f050ad9b9f725443cb8c4071f40583b","key":"rs1013940","value":19008}, 
{"id":"f050ad9b9f725443cb8c4071f40daff","key":"rs1013940","value":19008}, 
{"id":"f050ad9b9f725443cb8c4071f40b985","key":"rs1021188","value":10197}... 

을하지만 난 HTTP를 입력 할 때 : // localhost를 : 5984/MYDB/_design /리스트/_list/결과 내가 얻을 :

{"error":"list_error","reason":"Invalid path."} 

누군가 내가 뭘 잘못하고 있는지 알아? 나는 내가 생각할 수있는 모든 것을 시도했고, 온라인 튜토리얼에서 함수를 교환했다.

내가 우분투 12.04

많은 감사를 CouchDB를 버전 1.0.1을 사용하고, 누군가가 도와 수 있기를 바랍니다!

답변

13

당신은 뷰 이름뿐만 아니라 URL의 목록 이름을 모두 포함해야합니다 : 내가했다

http://localhost:5984/mydb/_design/lists/_list/results/variants

+1

아, 물론. 바보 같은 질문에 사과드립니다! – raistrick

1

: 귀하의 경우로 변환

http://localhost:5984/:db/_design/:ddoc/_list/:list/:view

똑같은 condundrum; 초보자의 관점에서보기, 쇼 및 목록 사용의 차이점을 즉시 파악하는 것은 쉽지 않았습니다. offical 한 문서에서 나는이 읽기 :

While Show functions are used to customize document presentation, List functions are used for same purpose, but against View functions results.

을 그리고 그것은 나를 약간 혼란. 나는 똑똑한 HTML 코팅으로 아마 문서를 대조하는 목록을 혼자 사용할 수 있다고 생각했지만, 확실한 가이드의이 페이지를 읽은 후에 무슨 일이 일어 났는지 정말로 알았습니다. (놀라운 자원입니다!)

http://guide.couchdb.org/draft/transforming.html

도미니크 말한다처럼 , 그것은 API를 기반으로 나에게 분명 있었어야 :

관련 문제