sql >> Databáze >  >> NoSQL >> MongoDB

Dlouhý akumulátor místo Double ve funkci MongoDB group().

Je to proto, že příkaz group ve skutečnosti spouští map/reduce a map/reduce je javascript. V javascriptu je výchozí typ čísla double, proto vrací double.

Takže pravděpodobně můžete svá čísla zabalit pomocí NumberLong(..) pokud chcete ve výsledku skupinového příkazu vidět dlouhé:

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

Netestováno, ale téměř jisté, že by to mělo fungovat.




  1. Express MongoDB find() na základě pole _id

  2. Spuštění serveru mongodb pomocí skriptů npm

  3. Streamujte výsledky MongoDB do expresní odpovědi

  4. Migrace MongoDB na DynamoDB, část 2