0
我有Cloudant数据库,它实际上是couchdb。 我在我的文档中有一个日期字段,我需要获得类似于_stats在数字字段上提供的统计信息(例如,min,max,avg,count)。有没有办法在云中做到这一点?在日期生成统计功能
我在映射函数中将其转换为时间戳并将其发送以减少。这是正确的方法吗?
我有Cloudant数据库,它实际上是couchdb。 我在我的文档中有一个日期字段,我需要获得类似于_stats在数字字段上提供的统计信息(例如,min,max,avg,count)。有没有办法在云中做到这一点?在日期生成统计功能
我在映射函数中将其转换为时间戳并将其发送以减少。这是正确的方法吗?
CouchDB和Cloudant允许将日期索引为MapReduce索引中的复合键,例如生成这样的密钥:
[ 2014, 5, 21]
其中数组的每个元素分别表示存储日期的年,月和日。
这可以在地图功能,像这样来实现:
function(doc) {
if (typeof(doc.date) === "string") {
var d = new Date(doc.date);
emit([ d.getFullYear(), d.getMonth()+1, d.getDay()], null);
}
}
随着_count
减速器,该指数可以与group_level
参数被用来产生时间序列的综合分析数据,如
通过添加一个数值为emit
的第二个参数,并使用_stats
,时间序列统计数据可以从索引中容易地提取并如上分组。