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

wsb*_*383 3 couchdb couchapp

我创建了一个简单的couchapp并将其部署到我的CouchDB实例中.但是,我注意到了一个异常现象.当我在CouchDB的Futon管理界面(以管理员身份登录)中查看时,创建的视图(通过couchapp生成视图...)返回数据,但不是在我运行我写的couchapp时.这是我的代码示例:

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

我从上面的alert()中得到的结果是'null'.

当我导航到:http:// localhost:5984/winedb/_design/wineapp/_view/wine_list我得到:

{"rows":[
{"key":null,"value":null}
  ]}
Run Code Online (Sandbox Code Playgroud)

但是,如果我打开Futon管理界面并导航到设计文档/视图,我可以看到记录.现在,在Futon我以管理员身份登录.所以,我的猜测是我应该在我的couchapp javascript代码中使用特定的身份验证凭据吗?如果是这样,怎么样?

Jas*_*ith 5

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

默认情况下,CouchDB将为查询提供映射并减少结果.要仅查看地图结果,您必须提供?reduce=false参数.

默认情况下,Futon提供?reduce=false参数,您必须选中"reduce"复选框以获取"默认"行为.

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