Documentation sur les propriétés d'entité

Firestore en mode Datastore (Datastore) est compatible avec divers types de données pour les valeurs de propriété, parmi lesquels :

  • Entiers
  • Nombres à virgule flottante
  • Chaînes
  • Dates
  • Données binaires

Pour obtenir la liste complète des types, consultez la section Propriétés et types de valeurs.

Propriétés et types de valeurs

Les valeurs de données associées à une entité consistent en une ou plusieurs propriétés. Chaque propriété a un nom, et une ou plusieurs valeurs. Une propriété peut avoir des valeurs de plus d'un type, et deux entités peuvent avoir des valeurs de types différents pour la même propriété. Les propriétés peuvent être indexées ou non indexées (les requêtes qui ordonnent ou filtrent une propriété P ignorent les entités pour lesquelles P n'est pas indexée.) Une entité peut avoir 20 000 propriétés indexées au maximum.

Les types de valeurs suivants sont acceptés :

Type de valeur Type(s) Go Ordre de tri Notes
Entier int
int8
int16
int32
int64
Numérique Entier de 64 bits, signé
Nombre à virgule flottante float32
float64
Numérique Double précision 64 bits,
IEEE 754.
Booléen bool false<true
Chaîne (courte) string Unicode
Jusqu'à 1 500 octets
Chaîne (longue) string (avec noindex) Aucun Jusqu'à 1 mégaoctet

Non indexé
Tranche d'octets (courte) datastore.ByteString Ordre des octets Jusqu'à 1 500 octets
Tranche d'octets (longue) []byte Aucun Jusqu'à 1 mégaoctet

Non indexé
Date et heure time.Time Chronologique
Point géographique appengine.GeoPoint En fonction de la latitude,
puis de la longitude
Clé Datastore *datastore.Key Par éléments de chemin d'accès
(genre, identifiant,
genre, identifiant, etc.)
Clé Blobstore appengine.BlobKey Ordre des octets

Vous pouvez également agréger des propriétés à l'aide d'un élément struct ou slice. Pour en savoir plus, consultez la documentation de référence de Datastore.

Lorsqu'une requête implique une propriété avec des valeurs de types mixtes, Datastore utilise un ordre déterministe basé sur les représentations internes :

  1. Valeurs Null
  2. Nombres à virgule fixe
    • Entiers
    • Dates et heures
  3. Valeurs booléennes
  4. Séquences d'octets
    • Tranches d'octets (courtes)
    • Chaîne Unicode
    • Clés Blobstore
  5. Nombres à virgule flottante
  6. Points géographiques
  7. Clés Datastore

Étant donné que les tranches d'octets longues et les chaînes longues ne sont pas indexées, aucun tri n'est défini pour celles-ci.