2012-01-12 33 views
3

我创建了一个简单的couchapp并将其部署到我的CouchDB实例中。但是,我注意到一个异常。创建的视图(通过couchapp生成视图...)在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} 
    ]} 

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

回答

5

如果您认为既有地图减少组件,那么这可能是被褥的用户界面错误。

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

默认情况下,Futon提供?reduce=false参数,并且您必须选中“reduce”复选框以获取“默认”行为。

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

+0

如果我想获取reduce设置为“true”时返回的行,该怎么办? – Shekhar 2012-07-18 11:00:37