2012-07-25 104 views
2

我是一個新手,CouchDB的,並用捲曲玩弄,但我似乎無法能夠正確地減少我的數據CouchDB的減少功能不組射出值正確

curl -X POST -d '{ 
    "map":"function(doc){ emit(doc.loc, 1) }", 
    "reduce":"function(keys, values){ return sum(values) }" 
}' -H 'Content-Type: application/json' 'http://localhost:5984/users/_temp_view' 

我意圖是根據他們的位置(doc.loc)減少我的文檔,如'US','AU','CA'。

我期待得到的東西是這樣的:

{ 
    "rows":[ 
    {"key":"US", "value":10}, 
    {"key":"AU", "value": 5}, 
    {"key":"CA", "value": 10} 
    ] 
} 

而是我發現了一個空的鍵與所有文檔

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

的計數就像一個合理性檢查我試圖

emit(doc.loc, doc.loc) 

,並得到

{"rows":[{"key":null,"value":"00AUAUAUAU... 

這意味着,我的數據確實有它


一個doc.loc再次,這是完全的新手水平,所以我可能丟失非常簡單。

回答

1

解決了我在查詢中丟失的問題?group=true

curl -X POST -d '{ 
    "map":"function(doc){ emit(doc.loc, 1) }", 
    "reduce":"function(keys, values){ return sum(values) }" 
}' -H 'Content-Type: application/json' 'http://localhost:5984/users/_temp_view?group=true' 

給我的結果,我希望

{"rows":[{"key":"--","value":25},{"key":"AU","value":493}, ...