エンティティ プロパティ リファレンス

Datastore モードの Firestore(Datastore)では、プロパティ値にさまざまなデータ型がサポートされています。サポートしているデータ型の例を次に示します。

  • 整数
  • 浮動小数点数
  • 文字列
  • 日付
  • バイナリデータ

サポートしているすべてのデータ型については、プロパティと値の型をご覧ください。

プロパティと値の型

エンティティに関連付けられたデータ値は 1 つ以上のプロパティで構成されます。各プロパティには名前と 1 つ以上の値があります。プロパティは異なる型の複数の値を持つことができるため、2 つのエンティティの同じプロパティに異なる型の値が存在する場合もあります。プロパティはインデックス付けされている場合とされていない場合があります(プロパティ P で並べ替えまたはフィルタリングを行うクエリでは、P がインデックス付けされていないエンティティは無視されます)。1 つのエンティティに、インデックスが付けられたプロパティを最大 20,000 個まで割り当てることができます。

サポートされている値の型は、次のとおりです。

値の型 Go の型 並べ替え順
整数 int
int8
int16
int32
int64
数値 64 ビット整数(符号付き)
浮動小数点数 float32
float64
数値 64 ビット倍精度、
IEEE 754
ブール値 bool false<true
文字列(短い) string Unicode
最大 1,500 バイト
文字列(長い) stringnoindex を含む) なし 最大 1 メガバイト

インデックス付けなし
バイトスライス(短い) datastore.ByteString バイト順 最大 1,500 バイト
バイトスライス(長い) []byte なし 最大 1 メガバイト

インデックス付けなし
日時 time.Time 時系列
地理的座標 appengine.GeoPoint 緯度、
経度の順
Datastore のキー *datastore.Key パス要素順
(種類、識別子、
種類、識別子...)
Blobstore のキー appengine.BlobKey バイト順

struct または slice を使用して、プロパティを集約することもできます。詳細については、Datastore のリファレンスをご覧ください。

型が混合した値を持つプロパティをクエリで扱う場合、Datastore では内部表現に基づく決定論的な順序付けが使用されます。

  1. Null 値
  2. 固定小数点数
    • 整数
    • 日時型
  3. ブール値
  4. バイト列
    • バイトスライス(短い)
    • Unicode 文字列
    • Blobstore のキー
  5. 浮動小数点数
  6. 地理的座標
  7. Datastore のキー

長いバイトスライスと長い文字列はインデックス付けされないため、順序付けは定義されていません。