Firestore dalam mode Datastore (Datastore) mendukung berbagai jenis data untuk nilai properti. Hal ini mencakup, antara lain:
- Bilangan bulat
- Angka floating-point
- String
- Tanggal
- Data biner
Untuk mengetahui daftar lengkap jenis, lihat Properti dan jenis nilai.
Properti dan jenis nilai
Nilai data yang terkait dengan entity terdiri dari satu atau beberapa properti. Setiap properti memiliki nama dan satu atau beberapa nilai. Properti dapat memiliki nilai yang berisi lebih dari satu jenis, dan dua entity dapat memiliki nilai dari jenis yang berbeda untuk properti yang sama. Properti dapat diindeks atau tidak diindeks (kueri yang mengurutkan atau memfilter pada properti P akan mengabaikan entity jika P tidak diindeks). Entity dapat memiliki maksimal 20.000 properti yang diindeks.
Jenis nilai berikut ini didukung:
Jenis nilai | Jenis Go | Tata urutan | Catatan |
---|---|---|---|
Bilangan Bulat | int int8 int16 int32 int64 |
Angka | Bilangan bulat 64-bit, ditandai |
Angka floating-point | float32 float64 |
Angka | Presisi ganda 64-bit, IEEE 754 |
Boolean | bool |
false <true |
|
String (pendek) | string |
Unicode |
Hingga 1.500 byte |
String (panjang) | string (dengan noindex ) |
Tidak ada | Hingga 1 megabyte Tidak diindeks |
Slice byte (pendek) | datastore.ByteString |
Urutan byte | Hingga 1.500 byte |
Slice byte (panjang) | []byte |
Tidak ada | Hingga 1 megabyte Tidak diindeks |
Tanggal dan waktu | time.Time |
Kronologis | |
Titik geografis | appengine.GeoPoint |
Menurut lintang, lalu bujur |
|
Kunci Datastore | *datastore.Key |
Menurut elemen jalur (jenis, ID, jenis, ID...) |
|
Kunci Blobstore | appengine.BlobKey |
Urutan byte |
Anda juga dapat menggunakan struct
atau slice
untuk menggabungkan properti. Lihat referensi Datastore untuk detail selengkapnya.
Jika kueri melibatkan properti dengan nilai jenis campuran, Datastore akan menggunakan pengurutan deterministik berdasarkan representasi internal:
- Nilai null
- Angka fixed-point
- Bilangan bulat
- Tanggal dan waktu
- Nilai boolean
- Urutan byte
- Slice byte (pendek)
- String unicode
- Kunci Blobstore
- Angka floating-point
- Titik geografis
- Kunci Datastore
Karena slice byte panjang dan string panjang tidak diindeks, urutannya tidak ditentukan.