MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Różnica między Numberlong(x) i Numberlong(x)

NumberLong(253351454) działa tylko dla liczb, które są na tyle małe, że nie muszą być… cóż, długie:powłoka musi je jakoś reprezentować w JS, więc może reprezentować tylko liczby, które

W przypadku większych liczb wymagana jest reprezentacja tekstowa, ponieważ nie ma wystarczająco dużego typu danych, stąd NumberLong("3059300418") z 3059300418 > 253351454 .

Innymi słowy, nie, nie ma różnicy . To tylko ograniczenie powłoki, a ogólniej mówiąc, JS i liczb zmiennoprzecinkowych.

Zastrzeżenie:nie próbuj wywoływać konstruktora ze zbyt dużą liczbą, tj. nie próbuj db.foo.insert({"t" : NumberLong(1234657890132456789)}); Ponieważ ta liczba jest zbyt duża dla podwojenia, spowoduje to błędy zaokrągleń. Powyższa liczba zostanie przekonwertowana na NumberLong("1234657890132456704") , co jest oczywiście błędne.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak uzbrajać i rozbrajać razem z aktualizacją zbiorczą w mongodb?

  2. Reszta danych rozruchu sprężynowego, ograniczenie @Notnull nie działa

  3. Nie znaleziono klasy „MongoClient”

  4. 'process.nextTick(function() { throw err; })' — Undefined nie jest funkcją (mongodb/mongoose)

  5. Wszystko, co musisz wiedzieć o kliencie MongoDB