Использование входного документа (краткая версия размещенного изображения) следующим образом:
{
_id: 1,
site_id: "512",
industry: "Food Sales",
val_per_day_dt: {
"2012-04-13 00:05:00": 23.4087,
"2012-04-13 00:10:00": 26.0463,
"2012-04-13 00:15:00": 27.3761
}
}
Функции отображения и сокращения:
m1 = function() {
for (let k in this.val_per_day_dt) {
emit(this.site_id, this.val_per_day_dt[k])
}
}
r1 = function(k, v) {
return Array.sum(v);
}
Запустите метод mapReduce
:
db.collection.mapReduce(
m1,
r1,
{ out: "collection_out" }
)
collection_out
имеет следующий результат:
{ "_id" : "512", "value" : 76.83109999999999 }