2012-07-03 10 views
5

Lottare per far funzionare qualsiasi funzione di elenco. Sono andato bene con le funzioni _show e _view, ma gli elenchi non sembrano funzionare, o ho frainteso cosa fare! (Devo ammettere di aver bisogno di guida per un idiota!)Impossibile utilizzare la funzione _serie CouchDB

mio documento di progetto si presenta come:

{ 
    "_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);}}" 
    } 
} 

Quando entro in http: // localhost: 5984/mydb/_design/lists/_Vedi/varianti I ottenere un elenco di nomi di varianti, come:

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

ma quando entro in http: // localhost: 5984/mydb/_design/lists/_list/risultati che ottengo:

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

Qualcuno sa cosa sto sbagliando? Ho provato tutto quello che posso pensare e lo scambio di una funzione da uno qualsiasi dei tutorial online.

che sto usando CouchDB la versione 1.0.1 su Ubuntu 12.04

Molte grazie, spero che qualcuno può aiutare!

risposta

13

è necessario includere sia un nome di vista così come un nome di lista nella tua URL:

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

che nel tuo caso si traduce in:

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

+1

Ahhh, naturalmente. Scusami per la domanda stupida! – raistrick

1

ho avuto la stesso identico condundrum; Non è stato facile distinguere immediatamente la differenza nell'uso di viste, spettacoli e liste dal punto di vista di un principiante. Nei documenti ufficiali dei ho letto questo:

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

E mi ha confuso un po '. Ho pensato allo stesso modo che si poteva usare solo una lista per fascicolare i documenti, magari in un simpatico rivestimento HTML, ma ho davvero capito cosa stava succedendo dopo aver letto questa pagina della guida definitiva (che è una risorsa incredibile!)

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

Come Dominic dice, avrebbe dovuto essere ovvio per me sulla base della API :)

Problemi correlati