【问题标题】:Aggregating data with CouchDB reduce function使用 CouchDB reduce 函数聚合数据
【发布时间】:2012-07-19 00:17:45
【问题描述】:

我有一个将类似于以下文档的文档发布到 CouchDB 的过程:

{
    "timestamp": [2010, 8, 4, 9, 25, 24],
    "type": "quote",
    "bid": 95.0,
    "offer": 96.5
}

许多此类文档在一天内发布,每个文档都带有适当的时间戳。

我想创建一个 CouchDB 视图,该视图返回每天存储的最后一个报价

我一直在阅读 View Cookbook for SQL Jockeys 关于如何创建复杂视图的文章,但我无法理解如何结合 map 和 reduce 函数来实现所需的结果。地图功能很简单;这是我遇到问题的reduce函数。

感谢您的指点。

【问题讨论】:

    标签: couchdb


    【解决方案1】:

    创建一个使用相同键返回给定时间段内所有文档的映射函数。例如,返回一天中第 17 个小时的所有文档,键为 17。

    创建一个只发出该小时的最新出价的 reduce 函数。您的视图将返回 24 个文档,您的客户端代码将进行最终合并。

    有很多方法可以做到这一点。您可以通过从地图功能发出单个键然后通过搜索所有出价来减少它来检索单个最新出价,但我不确定这对于非常大的集合会如何执行,例如您遇到的那些出价系统。

    更新

    http://wiki.apache.org/couchdb/View_Snippets#Computing_simple_summary_statistics_.28min.2Cmax.2Cmean.2Cstandard_deviation.29

    【讨论】:

      猜你喜欢
      • 2018-11-22
      • 2011-07-14
      • 1970-01-01
      • 2020-03-26
      • 2012-07-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多