CouchApp无法从视图中检索键/值对,但Futon可以



我创建了一个简单的couchhapp,并将其部署到我的CouchDB实例中。然而,我注意到了一个异常。当我在CouchDB的Futon管理界面(以管理员身份登录)中查看时,创建的视图(通过couchapp生成视图…)会返回数据,但当我运行我编写的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管理界面并导航到设计文档/视图,我可以看到记录。现在,在富顿,我以管理员身份登录。所以,我的猜测是,我应该在我的couchapp javascript代码中指定特定的身份验证凭据?如果是,如何?

如果您的视图同时包含mapreduce组件,那么这可能是Futon中的用户界面错误。

默认情况下,CouchDB将提供映射,并将结果减少到查询。若要仅查看映射结果,必须提供?reduce=false参数。

默认情况下,Futon提供?reduce=false参数,您必须选中"reduce"复选框才能获得"default"行为。

换句话说,将reduce=false添加到查询中。这有帮助吗?

相关内容

最新更新