Sí, soy un jinete de SQL (sorta) que entra en el mundo de CouchDb Map/Reduce. Pensé que había descubierto cómo el equivalente de la función agregador de SQL COUNT (*) para CouchDB conjuntos de datos con la siguiente:¿Cuál es el equivalente de CouchDB de la función de agregado de SQL COUNT (*)?
Mapa:
function(doc) {
emit(doc.name, doc);
}
Reducir:
function(keys, values, rereduce){
return values.length;
}
Lo que me pareció funcionó, devolviendo algo como:
"super fun C" 2
"super fun D" 2
"super fun E" 2
"super fun F" 18
... pero no realmente. Cuando agrego un registro, este recuento varía enormemente. A veces, el conteo realmente disminuye, lo que fue muy sorprendente. ¿Estoy haciendo algo mal? Tal vez no entiendo completamente el concepto de consistencia final?
Usar las funciones de reducción de javascript en lugar de las incorporadas le dará un rendimiento muy malo. Vea la respuesta de David – wallacer