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

OverflowError:MongoDB può gestire solo fino a 8 byte int?

Le specifiche BSON — Formato/tipo di dati JSON esteso binario nativo di MongoDB — supporta solo interi a 32 bit (con segno) e 64 bit (con segno), 8 byte che corrispondono a 64 bit.

Il valore intero massimo che può essere memorizzato in un int a 64 bit è:9,223,372,036,854,775,807

Nel tuo esempio sembri avere ID più grandi, ad esempio:11,611,747,760,398,664,000

Immagino che l'app che genera questi dati utilizzi tipi uint64 (unsigned può contenere valori x2-1).

Inizierei esaminando una di queste potenziali soluzioni, se possibile:

  • Modifica dell'altro lato per utilizzare i tipi int64 (firmati) per gli ID.
  • Sostituzione degli ID in entrata utilizzando ObjectId() poiché ottieni un ~ GUID da 12 byte per i tuoi ID univoci.