MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Accumulateur long au lieu de Double dans la fonction MongoDB group()

En effet, la commande de groupe exécute réellement map/reduce, et map/reduce est un javascript. Dans le type de nombre par défaut javascript est un double, à cause de cela, il renvoie des doubles.

Donc, vous pouvez probablement envelopper vos nombres avec NumberLong(..) si vous voulez voir le long résultat de la commande de groupe :

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

Pas testé cela, mais presque sûr que cela devrait fonctionner.