Sto memorizzando i dati di posizione in Couchdb e sto cercando un modo per ottenere un array di soli valori, invece di chiave: valore per ogni record. Per esempio:Simplify Couchdb Risposta JSON
La risposta attuale
{"total rows": 250, "offset": 0, "rows":[
{"id": "ec5de6de2cf7bcac9a2a2a76de5738e4", "key": "user1", "value": {"city": "San Francisco", "address":"1001 Bayhill Dr"},
{"id": "ec5de6de2cf7bcac9a2a2a76de573ae4","key": "user1", "value": {"city": "Palo Alto", "address":"583 Waverley St"}
... (etc).
]}
Ho solo davvero bisogno:
[{"city": "San Francisco", "address":"1001 Bayhill Dr"},
{"city": "Palo Alto", "address":"583 Waverley St"},
...]
La ragione di tutto questo è di ridurre al minimo la quantità di larghezza di banda che una risposta JSON consuma. Non riesco a trovare un modo per trasformare la vista in un semplice array. Eventuali suggerimenti?
Grazie.
Grande, grazie! Non avevo ancora guardato le funzioni show/list dal momento che il wiki di Couchdb suggerisce che il loro scopo principale è quello di servire direttamente l'HTML (ho sbagliato). Btw, hai un'idea dell'impatto sulle prestazioni dell'utilizzo di uno show/elenco come questo? Anche io gestirò alcuni benchmark. – Dick
Non ho numeri a portata di mano. Probabilmente sarà più veloce (in generale) rispetto ai modelli sul lato browser. Inoltre, il supporto ETag integrato è un ottimo meccanismo di caching da sfruttare. –
È anche possibile inviare JSON all'interno del ciclo while. Quindi invia qualcosa prima e dopo il ciclo per renderlo un JSON valido (e la virgola separa gli oggetti). In sostanza, send() può essere chiamato tutte le volte che vuoi e non solo alla fine della funzione. – mikeycgto