2012-07-25 102 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}, ...