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

OverflowError:MongoDB kan kun håndtere op til 8-byte ints?

BSON-specifikationen — MongoDBs native binære udvidede JSON-format/datatype — understøtter kun 32 bit (fortegn) og 64 bit (fortegn) heltal — 8 bytes er 64 bit.

Den maksimale heltalsværdi, der kan gemmes i en 64 bit int, er:9,223,372,036,854,775,807

I dit eksempel ser det ud til, at du har større id'er, for eksempel:11,611,747,760,398,664,000

Jeg gætter på, at den app, der genererer disse data, bruger uint64-typer (usigneret kan indeholde x2-1 værdier).

Jeg vil starte med at se på en af ​​disse potentielle løsninger, hvis det er muligt:

  • Ændring af den anden side for at bruge int64 (signerede) typer til ID'erne.
  • Udskiftning af de indgående ID'er ved hjælp af ObjectId() da du så får en 12 byte ~ GUID til dine unikke ID'er.



  1. Hvordan forespørger jeg refererede objekter i MongoDB?

  2. Hvordan returnerer jeg en boolean i en mongodb-kategori

  3. spring-boot redis :Hvordan ugyldiggøres alle sessioner for en bruger?

  4. Meteor:Unik MongoDB URL til forskellige brugere