2012-07-03 30 views
5

Luchando para que cualquier función de lista funcione. He estado bien con las funciones _show y _view, pero parece que las listas no funcionan o he entendido mal qué hacer. (Voy a admitir que necesitan guía de un idiota!)No puede funcionar ninguna función CouchDB _list

Mi documento de diseño se parece a:

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

Cuando entro en http: // localhost: 5984/mibd/_Diseño/listas/_view/variantes I obtener una lista de nombres de variante, como:

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

pero cuando entro en http: // localhost: 5984/mibd/_Diseño/listas/_list/resultados que obtengo:

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

¿Alguien sabe lo que estoy haciendo mal? Intenté todo lo que pude pensar e intercambié la función por uno de los tutoriales en línea.

estoy usando CouchDB versión 1.0.1 en Ubuntu 12.04

Muchas gracias, espero que alguien pueda ayudar!

Respuesta

13

es necesario incluir tanto un nombre de vista, así como un nombre de la lista en su URL:

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

que en su caso se traduce en:

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

+1

Ahhh, por supuesto. ¡Perdón por la estúpida pregunta! – raistrick

1

tuve la exactamente el mismo condundrum; No fue fácil discernir de manera inmediata la diferencia en el uso de vistas, espectáculos y listas desde la perspectiva de un principiante. En los documentos offical leí esto:

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

Y me confundió un poco. Pensé similarmente que uno podría usar una lista solo para cotejar documentos, quizás en un bonito y jugoso revestimiento HTML, pero realmente solo descubrí lo que sucedía después de leer esta página de la guía definitiva (¡que es un recurso increíble!)

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

Como Domingo dice que debería haber sido obvio para mí basado en la API :)

Cuestiones relacionadas