MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Acumulador longo em vez de Double na função group() do MongoDB


Isso ocorre porque o comando group realmente executa map/reduce e map/reduce é um javascript. No tipo de número padrão do javascript é um double, por isso ele retorna doubles.

Então você provavelmente pode envolver seus números com NumberLong(..) se você quiser ver por muito tempo no resultado do comando de grupo:
{
    ...
    initial: { count: new NumberLong(0) },
    reduce: "function (o, a) { a.count += new NumberLong(o.count); }"
}

Não testei isso, mas quase certo que deve funcionar.