2015-09-28 37 views
0

我是couchdb的新手。我寫了一個簡單的mapreduce視圖。CouchDB中的關鍵參數錯誤

simplemap: 
{ 
    "map":"function(doc) { emit(doc.name, doc.marks); }", 
    "reduce": "function(keys,values) { return sum(values);}" 
} 

我執行它使用下面的命令:

curl http://localhost:5984/student/_design/student1/_view/simplemap 

查詢執行。但是,當我執行下面的命令時,我收到一個錯誤。

curl http://localhost:5984/student/_design/student1/_view/simplemap?key="Kruti"&group=true 

我的地圖發出以下值。

{"total_rows":6,"offset":0,"rows":[ 
{"id":"2c1e1641694b8eeed8f88088ea0033b0","key":"Charupriya","value":90}, 
{"id":"d763d3f8d41aff068eb2bff9470007a7","key":"Charupriya","value":94}, 
{"id":"2c1e1641694b8eeed8f88088ea002556","key":"Kruti","value":96}, 
{"id":"d763d3f8d41aff068eb2bff94700037d","key":"Kruti","value":92}, 
{"id":"2c1e1641694b8eeed8f88088ea002be9","key":"Neha","value":98}, 
{"id":"d763d3f8d41aff068eb2bff94700053b","key":"Neha","value":98} 
]} 

任何人都可以請告訴我,爲什麼我的關鍵參數查詢不起作用。

回答

0

搜索和閱讀幾個環節後,我發現,關鍵是字符串值,它必須給出

key=\"Kruti\" 

通過這樣做,它的工作。

0

它看起來像你的減少功能沒有運行,這裏是我得到來自simplemap因此,當我查詢它:

{"rows":[ 
{"key":null,"value":235} 
]} 

一個減少的結果應該只是返回一個值,除非你把它與group參數。所以不知何故,你沒有做減少,你不能減少使用group=true意見。

ps:如果你想總結值使用內置的_sum函數,它比你自己寫的所有東西都快。

+0

我認爲減少工作。因此只有一個關鍵值對被用作輸出。錯誤是因爲關鍵參數。由於密鑰是字符串值,因此必須按照以下格式給出:key = \「Kruti \」並且它工作正常。 –

相關問題