2012-01-12 31 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