Couchdb如何映射reduce
Posted
技术标签:
【中文标题】Couchdb如何映射reduce【英文标题】:Couchdb how to map reduce 【发布时间】:2016-08-10 10:32:48 【问题描述】:这是我存储在 couchdb 中的示例 JSON 结构:
["_id":"567567983d6229ccf572c1a2fcad2fbd6","_rev":"1-8666754b35b18c92f005bb64d9c04712a5f","startTime":1467985647,"uuid":"216743afa424dfsf","from":"IN","to":"NG","duration":"121","_id":"4774f983d6229ccf572c1a2fcad2fbd6","_rev":"1-8e9fb35b18c92f005bb64d9c04712a5f","startTime":1467983347,"uuid":"2134jl13k4j343l243","from":"US","to":"DE","duration":"210"]
使用reduce函数我们可以产生如下输出:
outgoing : US:1, IN:1, inbound: NG:1, DE:1, duration:331
【问题讨论】:
您可能可以在 reduce 函数中执行此操作,但我认为这不是正确的方法。 Reduce 函数应该减少信息,而不是创建结构化数据。您可能希望处理客户端站点上的数据以及我们地图功能上的特定键。 【参考方案1】:我不会为此使用 reduce 函数。 view documentation 说:
如果您不将值缩减为单个标量值或具有固定数量的小标量值的小型固定大小对象或数组,则您可能做错了。
相反,您可以使用列表函数,它允许您以任何您喜欢的方式转换给定视图结果的行。 我发现本指南很有帮助:Rendering Content Based-On Multiple Documents with List Functions
【讨论】:
我们已经在使用列表,但是有数百万个文档,这使得整个过程变慢。以上是关于Couchdb如何映射reduce的主要内容,如果未能解决你的问题,请参考以下文章