sql >> Base de Datos >  >> NoSQL >> MongoDB

Acumulador largo en lugar de Double en la función group() de MongoDB

Esto se debe a que el comando de grupo en realidad ejecuta map/reduce, y map/reduce es un javascript. En javascript, el tipo de número predeterminado es un doble, por lo que devuelve dobles.

Así que probablemente puedas envolver tus números con NumberLong(..) si desea ver el resultado del comando de grupo largo:

{
    ...
    initial: { count: new NumberLong(0) },
    reduce: "function (o, a) { a.count += new NumberLong(o.count); }"
}

No probé esto, pero estoy casi seguro de que debería funcionar.