【发布时间】:2012-11-05 13:58:31
【问题描述】:
我知道这已经讨论了很多次,但我认为我的场景是因为禁用速率限制检查而大喊大叫:
文档格式为:
{ prefix: "004945", country: "Germany", type: "Mobile", carrier: "OrangeTel", price: "34"}
{ prefix: "004946", country: "Germany", type: "Mobile", carrier: "SomeOther", price: "46"}
.
.
.
{ prefix: "00807", country: "Unknown", type: "Satelite", carrier: "Inmarsat", price: "123"}
现在我想获取这些前缀的数组,一些 [country, type, carrier] 键或 [country, type] 键
所以我这样映射:
emit( [country, type, carrier],[prefix] )
我像这样减少:
reduce: function(keys, values, rereduce) {
return values.reduce(function(a, b) {return a.concat(b);})
}
问题是收缩率不够好,因为显然我以不同的形状返回相同数量的数据:我将一个包含许多元素的列表转换为一个包含少量元素的列表,每个元素都有很多数据。
我知道我可以使用列表函数等解决它,但我认为该方案对于禁用检查是有效的。此外,如果它存在,我想要任何使用 map-reduce 解决方案而不改变这些文档结构的想法。谢谢。
【问题讨论】: