3

我创建了一个简单的 couchapp 并将其部署到我的 CouchDB 实例中。但是,我注意到异常。创建的视图(通过 couchapp generate view ...)在我在 CouchDB 的 Futon 管理界面(以管理员身份登录)中查看它时返回数据,但在我运行我编写的 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 中,我以管理员身份登录。所以,我的猜测是我应该在我的 couchapp javascript 代码中使用特定的身份验证凭据?如果是这样,怎么做?

4

1 回答 1

5

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

默认情况下,CouchDB 将为查询提供map 和 reduce结果。要仅查看地图结果,您必须提供一个?reduce=false参数。

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

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

于 2012-01-14T01:40:34.807 回答