sql >> Database >  >> NoSQL >> MongoDB

Lange accumulator in plaats van Double in MongoDB group() functie

Dit komt omdat het groepscommando map/reduce daadwerkelijk uitvoert en map/reduce een javascript is. In het javascript is het standaard nummertype een dubbel, hierdoor wordt het dubbel geretourneerd.

U kunt uw getallen dus waarschijnlijk omwikkelen met NumberLong(..) als je lang wilt zien in het resultaat van de groepsopdracht:

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

Niet getest, maar bijna zeker dat het zou moeten werken.




  1. Kan MongoDB /data/db-map niet maken op macOS Catalina

  2. Kan geen verbinding maken met mlab-database vanuit zelf-gehoste Parse

  3. MongoDB $rand

  4. Hoe db.Collection.stats() aanroepen vanuit Mongo java-stuurprogramma