Przechowuję dane lokalizacji w Couchdb i szukam sposobu na uzyskanie tablicy tylko wartości, zamiast klucza: wartość dla każdego rekordu. Na przykład:Uprość Couchdb JSON odpowiedź
Obecny odpowiedzi
{"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).
]}
ja tylko naprawdę potrzebne:
[{"city": "San Francisco", "address":"1001 Bayhill Dr"},
{"city": "Palo Alto", "address":"583 Waverley St"},
...]
Przyczyną tego wszystkiego jest, aby zminimalizować ilość pasma że odpowiedź JSON zużywa. Nie mogę znaleźć sposobu na przekształcenie widoku w prostą tablicę. Jakieś sugestie?
Dzięki.
Świetne, dzięki! Tak naprawdę nie patrzyłem na funkcje show/list, ponieważ wiki Couchdb sugeruje, że ich głównym celem jest obsługa HTML bezpośrednio (myliłem się). Btw, masz pojęcie o wpływie na wydajność korzystania z pokazu/listy w ten sposób? Sam też poprowadzę testy porównawcze. – Dick
Nie mam pod ręką żadnych numerów. Prawdopodobnie będzie to szybsze (ogólnie) niż szablonowanie po stronie przeglądarki. Również wbudowana obsługa ETag jest doskonałym mechanizmem buforowania. –
Możesz również wysłać JSON w pętli while. Następnie wyślij coś przed i po pętli, aby był prawidłowym JSON (i przecinkiem oddzielają obiekty). Zasadniczo send() można wywoływać tak, jak chcesz, a nie tylko na końcu funkcji. – mikeycgto