MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

OverflowError:MongoDB kann nur bis zu 8-Byte-Ints verarbeiten?

Die BSON-Spezifikation – MongoDBs natives binäres erweitertes JSON-Format / Datentyp – unterstützt nur 32-Bit- (vorzeichenbehaftet) und 64-Bit- (vorzeichenbehaftet) Ganzzahlen – 8 Byte sind 64 Bit.

Der maximale ganzzahlige Wert, der in einem 64-Bit-int gespeichert werden kann, ist:9.223.372.036.854.775.807

In Ihrem Beispiel scheinen Sie größere IDs zu haben, zum Beispiel:11.611.747.760.398.664.000

Ich vermute, dass die App, die diese Daten generiert, uint64-Typen verwendet (unsigned kann x2-1-Werte enthalten).

Ich würde damit beginnen, wenn möglich, eine dieser möglichen Lösungen zu betrachten:

  • Änderung der anderen Seite zur Verwendung von int64-Typen (signiert) für die IDs.
  • Ersetzen der eingehenden IDs durch ObjectId() da bekommst du dann eine 12 Byte ~ GUID für deine eindeutigen IDs.