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
  • 博物馆
我想使用couchDB map/reduce函数来获得结果:

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函数可以让我得到想要的结果

你能帮我吗