Ich verwende MongoDB mit dem nativen Knotentreiber und muss Zahlen genau speichern, die größer als das int-Maximum 2147483647 sein können. Ich muss in der Lage sein, die Nummer zu erhöhen, während ich die Verwendung verfolge. Was sind meine Optionen?
Ich benutze Mungos. Das Problem, das ich habe, ist, dass wenn ich $inc
nach 2147483647 es die Zahl in ein Double konvertiert. Wie kann ich Mongoose zwingen, die 64-Bit lange int NumberLong
zu verwenden?
Mein Schema sieht so aus
%Vor% Und mein $inc
sieht so aus
Sie können dies jetzt in Mongoose mit dem mongoose-long
Plug-in machen.
MongoDB hat einen nativen 64-Bit langen Integer-Typ, der normalerweise NumberLong
genannt wird (zumindest in der MongoDB javascript shell / driver). Wenn Sie den node-mongodb-nativen Treiber verwenden, glaube ich, dass er nur Long
heißt (obwohl ich mir dessen nicht sicher bin, bitte korrigieren Sie mich, wenn ich falsch liege). $inc
funktioniert wie erwartet für Felder vom Typ NumberLong
.