Referenz zu Entitätsattributen

Firestore im Datastore-Modus (Datastore) unterstützt eine Vielzahl von Datentypen für Attributwerte. Diese umfassen unter anderem:

  • Ganzzahlen
  • Gleitkommazahlen
  • Strings
  • Datumsangaben
  • Binärdaten

Eine vollständige Liste der Typen finden Sie unter Eigenschaften und Werttypen.

Eigenschaften und Werttypen

Die mit einer Entität verknüpften Datenwerte bestehen aus einem oder mehreren Attributen. Jedes Attribut hat einen Namen und einen oder mehrere Werte. Ein Attribut kann Werte mit mehr als einem Typ haben und zwei Entitäten können Werte unterschiedlichen Typs für dasselbe Attribut haben. Attribute können indexiert oder nicht indexiert sein. Abfragen, die nach einem Attribut A sortieren oder filtern, ignorieren Entitäten, bei denen A nicht indexiert ist. Eine Entität kann höchstens 20.000 indexierte Attribute haben.

Die folgenden Werttypen werden unterstützt:

Werttyp Go-Typ(en) Sortierfolge Hinweise
Ganzzahl int
int8
int16
int32
int64
Numerisch 64-Bit-Ganzzahl, signiert
Gleitkommazahl float32
float64
Numerisch 64 Bit mit doppelter Genauigkeit,
IEEE 754
Boolesch bool false<true
String (kurz) string Unicode
Bis zu 1.500 Byte
String (lang) string (mit noindex) Bis zu 1 Megabyte

Nicht indexiert
Bytesegment (kurz) datastore.ByteString Bytereihenfolge Bis zu 1.500 Byte
Bytesegment (lang) []byte Bis zu 1 Megabyte

Nicht indexiert
Datum und Uhrzeit time.Time Chronologisch
Geografischer Punkt appengine.GeoPoint Nach Breitengrad,
dann nach Längengrad
Datastore-Schlüssel *datastore.Key Nach Pfadelementen
(Art, Kennung,
Art, Kennung...)
Blobstore-Schlüssel appengine.BlobKey Bytereihenfolge

Sie können auch struct oder slice verwenden, um Attribute zusammenzufassen. Weitere Informationen finden Sie in der Referenz zu Datastore.

Wenn eine Abfrage ein Attribut mit Werten verschiedener Typen enthält, verwendet Datastore eine deterministische Sortierung anhand der internen Darstellungen:

  1. Nullwerte
  2. Festkommazahlen
    • Ganzzahlen
    • Datums- und Uhrzeitwerte
  3. Boolesche Werte
  4. Bytesequenzen
    • Bytesegmente (kurz)
    • Unicode-String
    • Blobstore-Schlüssel
  5. Gleitkommazahlen
  6. Geografische Punkte
  7. Datastore-Schlüssel

Da lange Bytesegmente und lange Strings nicht indexiert werden, wird für sie keine Reihenfolge definiert.