couchDb映射/减少最小值&;最大值+;其他数据
我有一份文件清单,其中包括:couchDb映射/减少最小值&;最大值+;其他数据,couchdb,Couchdb,我有一份文件清单,其中包括: 时间 会话ID appv 博物馆 我想使用couchDB map/reduce函数来获得结果: key : sessionId, value : {begin : time, end: time, appv : appv, museum : museum} 对于开始值:最小时间值 对于结束值:最大时间值 目前,我可以使用此代码获得最小值和最大值: 地图: function(doc) { if(doc.sessionId) { emit(doc.
- 时间
- 会话ID
- appv
- 博物馆
key : sessionId, value : {begin : time, end: time, appv : appv, museum : museum}
对于开始值:最小时间值
对于结束值:最大时间值
目前,我可以使用此代码获得最小值和最大值:
地图:
function(doc) {
if(doc.sessionId) {
emit(doc.sessionId, [doc.time])
}
}
减少:
function(keys, values, rereduce) {
if (rereduce) {
return {
'min': values.reduce(function(a, b) { return Math.min(a, b.min) }, Infinity),
'max': values.reduce(function(a, b) { return Math.max(a, b.max) }, -Infinity),
}
} else {
return {
'min': Math.min.apply(null, values),
'max': Math.max.apply(null, values),
}
}
}
结果:
{"rows":[
{"key":"fromDev1548326238156","value":{"min":2,"max":999}}
]}
当我使用这个映射函数时:
function(doc) {
if(doc.sessionId) {
emit(doc.sessionId, [doc.time, doc.museum, doc.appv])
}
}
我找不到reduce函数可以让我得到想要的结果
你能帮我吗