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 バイト |
文字列(長い) | string (noindex を含む) |
なし | 最大 1 メガバイト インデックス付けなし |
バイトスライス(短い) | datastore.ByteString |
バイト順 | 最大 1,500 バイト |
バイトスライス(長い) | []byte |
なし | 最大 1 メガバイト インデックス付けなし |
日時 | time.Time |
時系列 | |
地理的座標 | appengine.GeoPoint |
緯度、 経度の順 |
|
Datastore のキー | *datastore.Key |
パス要素順 (種類、識別子、 種類、識別子...) |
|
Blobstore のキー | appengine.BlobKey |
バイト順 |
struct
または slice
を使用して、プロパティを集約することもできます。詳細については、Datastore のリファレンスをご覧ください。
型が混合した値を持つプロパティをクエリで扱う場合、Datastore では内部表現に基づく決定論的な順序付けが使用されます。
- Null 値
- 固定小数点数
- 整数
- 日時型
- ブール値
- バイト列
- バイトスライス(短い)
- Unicode 文字列
- Blobstore のキー
- 浮動小数点数
- 地理的座標
- Datastore のキー
長いバイトスライスと長い文字列はインデックス付けされないため、順序付けは定義されていません。