javascript - Couch db 日期和溢出

标签 javascript mapreduce couchdb

我需要使用 CouchDB 计算一项简单的任务。但我遇到了一些问题: 我无法正确转换 Sate 字符串表示形式中的时间戳。 这是我的功能:

function(doc) {
    if (doc.temp > -50 && doc.temp < 50 ) {
        var date = new Date(doc.time); 
        emit(date, doc.temp);
    }
}

我需要将同一小时内发生的不同事件分组。但是这个类产生一个空日期对象,我不明白为什么。

此外,我计算平均值的reduce函数也不起作用,因为它溢出了。

function(keys, values) {
  return sum(values)/values.length;
}

如果我更改为这种形式,我可以设法使第一个功能正常工作:

function(doc) {
    if (doc.temp > -50 && doc.temp < 50 ) {
        emit(Math.round(doc.time/360000), doc.temp);
    }
}

最佳答案

您的reduce函数不起作用的原因是它不处理重新reduce情况。

在您的reduce 函数中,您可以在reduce 函数中处理map 函数结果的部分。在这种情况下,rereduce 参数为 false。

您的reduce函数还需要处理先前reduce调用的部分结果。在这种情况下,rereduce 参数为 true。

请参阅文档:http://wiki.apache.org/couchdb/Introduction_to_CouchDB_views#Reduce_vs_rereduce

关于javascript - Couch db 日期和溢出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14903070/

相关文章:

javascript - 当canvas.width/height太大时canvas.toDataUrl返回 "data:;"

java - 在Hadoop中将整个文件文本添加为​​映射键

couchdb - 将数据从 RDBMS 传输到 Couchbase 文档时.. 我应该如何设计我的文档?

windows - 使用 google Chrome V22 将数据从 CouchDB 复制到 PouchDB 以在 Windows 7 上进行离线存储

javascript - react js播放本地MP3文件

javascript - 单击外部时隐藏 div

javascript - jQuery 获取点击类的元素而不是点击该类的每个元素

hadoop - 映射器输出中的零件文件是否代表拆分?

java - 没有集群的 Hadoop MapReduce - 这可能吗?

dictionary - CouchDB:访问映射函数中的嵌套结构