У меня есть таблица с 604 строками, и я пытаюсь запустить mapreduce, но я получаю некоторые странные результаты. Это упрощенная версия, команда result.total = values.length должна быть возвращена 604 вместо 5. Не могли бы вы помочь мне получить ошибку в этом коде?Я теряю строки в процессе сокращения карты?
db.foo.mapReduce(
function() {
emit("ALL" , this.libres)
},
function(key, values) {
result = {total: 0,count:0};
result.total=values.length;
for (var i= 0; i < values.length; i++) {
if (values[i]==0){result.count++}
}
return result
},
{out:{inline:1}})
{
"results" : [
{
"_id" : "ALL",
"value" : {
"total" : 5,
"count" : 0
}
}
],
"timeMillis" : 26,
"counts" : {
"input" : 604,
"emit" : 604,
"reduce" : 7,
"output" : 1
},
"ok" : 1
}