So speichern Sie große Zahlen in MongoDB mit Node.js

8

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

%Vor%     
respectTheCode 23.12.2011, 14:39
quelle

2 Antworten

7

Sie können dies jetzt in Mongoose mit dem mongoose-long Plug-in machen.

%Vor%     
JohnnyHK 28.02.2013, 14:17
quelle
3

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 .

    
dcrosta 23.12.2011 14:51
quelle

Tags und Links