CouchApp не может получить пары ключ / значение из представления, но Футон может - PullRequest
3 голосов
/ 13 января 2012

Я создаю простое приложение couchapp и внедряю его в мой экземпляр CouchDB.Тем не менее, я заметил аномалию.Созданное представление (через представление генерации couchapp ...) возвращает данные, когда я просматриваю их в административном интерфейсе Futon CouchDB (вошел в систему как администратор), но не при запуске написанного мной couchapp.Вот пример моего кода:

$.CouchApp(function(app) {
app.view("wine_list", { success: function(json) {
    json.rows.map(function(row) {
       alert(row.key);
    }); 
}});
});

Результат, который я получаю из функции alert () выше, равен 'null'.

И когда я перехожу к: http://localhost:5984/winedb/_design/wineapp/_view/wine_list, я получаю:

{"rows":[
{"key":null,"value":null}
  ]}

Но, если я открою интерфейс администратора Futon и перейду к документу / представлению проекта, я увижузаписей.Теперь в Futon я вошел как администратор.Итак, я думаю, я должен конкретные учетные данные аутентификации в моем коде JavaScript couchapp?Если да, то как?

1 Ответ

5 голосов
/ 14 января 2012

Если в вашем представлении есть компонент map и Reduce , то это может быть ошибка пользовательского интерфейса в Futon.

По умолчанию CouchDB предоставляет карту и сокращает результаты до запросов. Чтобы увидеть только результаты карты, необходимо указать параметр ?reduce=false.

По умолчанию Futon предоставляет параметр ?reduce=false, и вам необходимо установить флажок «уменьшить», чтобы получить поведение «по умолчанию».

Другими словами, добавьте reduce=false к вашему запросу. Это помогает?

...