MongoDB différences entre NumberLong simple et Entier?
Quelles sont les principales différences (taille, vitesse, etc) entre les types de données double, NumberLong, NumberInt ou un simple Entier dans MongoDB?
Si je veux enregistrer un petit nombre fixe (quelque chose entre 0 et 1000) type de données dois-je utiliser?
La native int est 32bit alors que numberlong permet 64bit, une petite int vous pouvez utiliser simplement les indigènes de la représentation de l'entier
OriginalL'auteur Francisco Tomé Costa | 2013-06-19
Vous devez vous connecter pour publier un commentaire.
NumberInt
Par défaut, le shell mongo traite tous les nombres comme des valeurs à virgule flottante. Le shell mongo fournit la
NumberInt()
constructeur de spécifier explicitement des nombres entiers de 32 bits.NumberLong
Par défaut, le shell mongo traite tous les nombres comme des valeurs à virgule flottante. Le shell mongo fournit la
NumberLong()
classe pour gérer les entiers 64 bits.La
NumberLong()
constructeur accepte le long comme une chaîne de caractères:Source: http://docs.mongodb.org/manual/core/shell-types/
Je viens de tomber sur un problème - cela ne fonctionne pas lors de la modification d'un champ. Si la mise à jour, vous devez supprimer le premier champ, puis de l'enregistrer comme le type désiré, voir ici: stackoverflow.com/questions/36894019/...
OriginalL'auteur Jayram Singh
NumberLong et NumberInt ne sont pas les types de données dans MongoDB, mais de fonctions JavaScript dans la MongoDB shell.
Types de données dans MongoDB sont définis dans le BFILS spécifications: http://bsonspec.org/spec.html
Les nombres sont stockés en tant que type 0x01 (à virgule flottante), type 0x10 (entier de 32 bits) ou de type 0x12 (64-bit integer).
Si vous insérer ou mettre à jour un document dans la MongoDB shell, puis NumberLong crée un entier de 64 bits, NumberInt crée un entier de 32 bits, et un nombre JavaScript crée une valeur à virgule flottante. C'est parce qu'il n'existe pas de nombres entiers en JavaScript, seuls les nombres à virgule flottante.
De sortie dans la MongoDB shell affiche les nombres à virgule flottante et les nombres entiers de 32 bits comme JavaScript, des chiffres, alors que les entiers 64 bits sont présentés comme des appels à NumberLong:
Différents MongoDB fournissent des pilotes de différentes méthodes d'insertion de différents types de nombres. Par exemple, le C++ pilote crée un entier de 64 bits, si vous ajoutez un 'long' de la valeur à un BSONObjectBuilder.
Requêtes de match à chaque fois que les nombres sont égaux. Dans l'exemple ci-dessus, les requêtes
tous match le document inséré.
OriginalL'auteur Florian Winter