Referensi Properti Entity

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:

  1. Nilai null
  2. Angka fixed-point
    • Bilangan bulat
    • Tanggal dan waktu
  3. Nilai boolean
  4. Urutan byte
    • Slice byte (pendek)
    • String unicode
    • Kunci Blobstore
  5. Angka floating-point
  6. Titik geografis
  7. Kunci Datastore

Karena slice byte panjang dan string panjang tidak diindeks, urutannya tidak ditentukan.