Wiem, że jest wbudowana funkcja _stats
, która daje sumę, liczbę, min, maks i sumsqr. To, co chciałbym wiedzieć, to jak obliczyć max na mapie - zmniejszyć sposób. Nie mogę wymyślić funkcji redukcji, która zadziała bez dodatkowych informacji.Jak obliczyć wartość maksymalną za pomocą funkcji Map-Reduce w CouchDB?
Jedyne, co mogę wymyślić, to użyć sortowania według wartości i wybrać pierwszą wartość.
Moja funkcja mapa wygląda następująco:
function(doc){
emit(null, doc.value);
}
Twój obejście (sortowanie pod względem wartości i zbierając pierwszy lub ostatni wpis) nie będzie pracować z funkcji mapy - widok jest posortowana według klucza, więc musisz wydać wartość doc.value zamiast wartości null jako klucza. Zamiast takiego obejścia można jednak połączyć funkcję mapy z odpowiednią funkcją redukcji. – titanoboa