Tak, jestem dżokejem SQL (sorta) wchodzącym w CouchDb Map/Reduce world. Myślałem, że zorientowali się, jak odpowiednik COUNT (*) Funkcja SQL agregatora dla zbiorów couchdb z następujących czynności:Co to jest odpowiednik CouchDB funkcji agregującej SQL COUNT (*)?
mapa
function(doc) {
emit(doc.name, doc);
}
Zmniejszyć:
function(keys, values, rereduce){
return values.length;
}
Który myślałem pracował, wracając coś w stylu:
"super fun C" 2
"super fun D" 2
"super fun E" 2
"super fun F" 18
... ale nie do końca. Kiedy dodaję rekord, liczba ta zmienia się dziko. Czasami liczba faktycznie spada, co było bardzo zaskakujące. czy robię coś źle? Może nie w pełni rozumiem koncepcję ostatecznej konsekwencji?
Używanie javascript redukuje funkcje zamiast wbudowanych spowoduje bardzo złą wydajność. Zobacz odpowiedź Davida – wallacer