MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Accumulatore lungo invece di Double nella funzione MongoDB group()

Questo perché il comando di gruppo esegue effettivamente map/reduce e map/reduce è un javascript. Nel javascript il tipo di numero predefinito è double, per questo restituisce double.

Quindi probabilmente puoi avvolgere i tuoi numeri con NumberLong(..) se vuoi vedere il risultato del comando di gruppo lungo:

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

Non l'ho testato, ma quasi sicuro che dovrebbe funzionare.