Join us in person and online for Firebase Summit on October 18, 2022. Learn how Firebase can help you accelerate app development, release your app with confidence, and scale with ease. Register now

Types de données pris en charge

Restez organisé à l'aide des collections Enregistrez et classez les contenus selon vos préférences.

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 de 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 seconds é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 classé avant le tableau le plus long.

Par exemple, [1, 2, 3] < [1, 2, 3, 1] < [2] . Le tableau [2] a la plus grande valeur de premier élément. Le tableau [1, 2, 3] a des éléments égaux aux trois premiers éléments de [1, 2, 3, 1] mais est plus court 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, précis uniquement à la microseconde près ; 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 ne recommandons pas d'utiliser ce type de données en raison des limitations d'interrogation. Il est généralement préférable de stocker la latitude et la longitude dans des champs numériques distincts. Si votre application a besoin de requêtes géographiques simples basées sur la distance, consultez Requêtes géographiques
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 effectuer une requête sur les 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 sous {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 Aucun
Référence Par éléments de chemin (collection, ID de document, collection, ID de document...) Par exemple, projects/[PROJECT_ID]/databases/[DATABASE_ID]/documents/[DOCUMENT_PATH] .
Chaîne de texte Ordre des octets encodé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.

Classement 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 d'octet
  7. Références Cloud Firestore
  8. Valeurs des points géographiques
  9. Valeurs de tableau
  10. Valeurs de carte