Catch up on everthing we announced at this year's Firebase Summit. Learn more

Types de données pris en charge

Cette page décrit les types de données pris en charge par Cloud Firestore.

Types de données

Le tableau suivant répertorie les types de données pris en charge par Cloud Firestore. Il décrit également l'ordre de tri utilisé lors de la comparaison de valeurs du même type :

Type de données Ordre de tri Remarques
Déployer Par valeurs d'élément

Un tableau ne peut pas contenir une autre valeur de tableau comme l'un de ses éléments.

Dans un tableau, les éléments conservent la position qui leur est assignée. Lors du tri de deux tableaux ou plus, les tableaux sont classés en fonction de leurs valeurs d'élément.

Lors de la comparaison de deux tableaux, les premiers éléments de chaque tableau sont comparés. Si les premiers éléments sont égaux, alors les deuxièmes éléments sont comparés et ainsi de suite jusqu'à ce qu'une différence soit trouvée. Si un tableau manque d'éléments à comparer mais est égal jusqu'à ce point, le tableau le plus court est ordonné avant le tableau le plus long.

Par exemple, [1, 2, 3] < [1, 2, 3, 1] < [2] . La matrice [2] a la plus grande valeur de premier élément. La matrice [1, 2, 3] présente des éléments égal au trois premiers éléments de [1, 2, 3, 1] mais est plus courte en longueur.

booléen false < true -
Octets Ordre des octets Jusqu'à 1 048 487 octets (1 Mio - 89 octets). Seuls les 1 500 premiers octets sont pris en compte par les requêtes.
Date et l'heure Chronologique Lorsqu'il est stocké dans Cloud Firestore, ne précisez qu'à la microseconde ; toute précision supplémentaire est arrondie à l'inférieur.
nombre à virgule flottante Numérique Double précision 64 bits, IEEE 754.
Point géographique Par latitude, puis longitude Pour le moment, nous vous déconseillons d'utiliser ce type de données en raison des limitations de requête. Il est généralement préférable de stocker la latitude et la longitude dans des champs numériques séparés. Si votre application a besoin geoqueries basé sur la distance-simples, voir requêtes Geo
Entier Numérique 64 bits, signé
Carte Par clés, puis par valeur

Représente un objet incorporé dans un document. Une fois indexé, vous pouvez interroger sur des sous-champs. Si vous excluez cette valeur de l'indexation, tous les sous-champs sont également exclus de l'indexation.

L'ordre des clés est toujours trié. Par exemple, si vous écrivez {c: "foo", a: "bar", b: "qux"} la carte est triée par clé et enregistrée comme {a: "bar", b: "qux", c: "foo"} .

Les champs de carte sont triés par clé et comparés par paires clé-valeur, en comparant d'abord les clés, puis les valeurs. Si les premières paires clé-valeur sont égales, les paires clé-valeur suivantes sont comparées, et ainsi de suite. Si deux cartes commencent par les mêmes paires clé-valeur, la longueur de la carte est prise en compte. Par exemple, les cartes suivantes sont dans l'ordre croissant :

{a: "aaa", b: "baz"}
{a: "foo", b: "bar"}
{a: "foo", b: "bar", c: "qux"}
{a: "foo", b: "baz"}
{b: "aaa", c: "baz"}
{c: "aaa"}

Nul Rien -
Référence Par éléments de chemin (collection, ID de document, collection, ID de document...) Par exemple, les projects/[PROJECT_ID]/databases/[DATABASE_ID]/documents/[DOCUMENT_PATH] de projects/[PROJECT_ID]/databases/[DATABASE_ID]/documents/[DOCUMENT_PATH] .
Chaîne de texte Ordre des octets codés en UTF-8 Jusqu'à 1 048 487 octets (1 Mio - 89 octets). Seuls les 1 500 premiers octets de la représentation UTF-8 sont pris en compte par les requêtes.

Ordre des types de valeur

Lorsqu'une requête implique un champ avec des valeurs de types mixtes, Cloud Firestore utilise un ordre déterministe basé sur les représentations internes. La liste suivante montre l'ordre :

  1. Valeurs nulles
  2. Valeurs booléennes
  3. Valeurs entières et à virgule flottante, triées par ordre numérique
  4. Valeurs de date
  5. Valeurs de chaîne de texte
  6. Valeurs en octets
  7. Références Cloud Firestore
  8. Valeurs des points géographiques
  9. Valeurs du tableau
  10. Valeurs de la carte