Buka konsol

Jenis data yang didukung

Halaman ini menjelaskan jenis data yang didukung Cloud Firestore.

Jenis data

Tabel berikut mencantumkan jenis data yang didukung oleh Cloud Firestore. Tabel ini juga menjelaskan tata urutan yang digunakan saat membandingkan nilai dari jenis yang sama:

Jenis data Tata urutan Catatan
Array Menurut nilai elemen

Array tidak dapat berisi nilai array lain sebagai salah satu elemennya.

Di dalam array, elemen mempertahankan posisi yang ditetapkan padanya. Saat mengurutkan dua array atau lebih, array tersebut diurutkan berdasarkan nilai elemennya.

Ketika membandingkan dua array, elemen pertama dari setiap array akan dibandingkan. Jika elemen pertama sama, elemen kedua akan dibandingkan, dan seterusnya sampai perbedaan ditemukan. Jika array kehabisan elemen untuk dibandingkan namun tetap tidak ditemukan perbedaan, array yang lebih pendek akan diurutkan sebelum array yang lebih panjang.

Misalnya, [1, 2, 3] < [1, 2, 3, 1] < [2]. Array [2] memiliki nilai elemen pertama yang terbesar. Array [1, 2, 3] memiliki elemen yang sama dengan tiga elemen pertama [1, 2, 3, 1], tetapi lebih pendek.

Boolean false < true
Byte Urutan byte Sampai 1.048.487 byte (1 MiB - 89 byte). Hanya 1.500 byte pertama yang dipertimbangkan oleh kueri.
Tanggal dan waktu Kronologis Jika disimpan di Cloud Firestore, tingkat presisinya hanya hingga mikrodetik; presisi lainnya dibulatkan ke bawah.
Angka floating-point Numerik Presisi ganda 64 bit, IEEE 754.
Titik geografis Menurut lintang, lalu bujur
Bilangan bulat Numerik 64 bit, ditandai
Peta Berdasarkan kunci, baru kemudian nilai

Menunjukkan objek yang disematkan di dalam dokumen. Bila diindeks, Anda dapat membuat kueri pada subkolom. Jika Anda mengecualikan nilai ini dari pengindeksan, semua subkolomnya juga dikecualikan dari pengindeksan.

Urutan kunci selalu diurutkan. Misalnya, jika Anda menulis {c: "foo", a: "bar", b: "qux"}, peta akan diurutkan berdasarkan kunci dan disimpan sebagai {a: "foo", b: "bar", c: "qux"}.

Kolom peta diurutkan berdasarkan kunci dan dibandingkan menurut key-value pair, pertama-tama kunci akan dibandingkan, kemudian nilainya. Jika key-value pair pertama sama, key-value pair berikutnya akan dibandingkan, dan seterusnya. Jika 2 peta dimulai dengan key-value pair yang sama, panjang peta akan dibandingkan. Misalnya, peta berikut dalam urutan menaik:

{a: "aaa", b: "baz"}
{a: "foo", b: "bar"}
{a: "foo", b: "bar", c: "qux"}
{a: "foo", b: "baz"}
{b: "aaa", c: "baz"}
{c: "aaa"}

Null Tidak ada
Referensi Menurut elemen lokasi (koleksi, ID dokumen, koleksi, ID dokumen ...) Misalnya, projects/[PROJECT_ID]/databases/[DATABASE_ID]/documents/[DOCUMENT_PATH].
String teks Urutan byte berenkode UTF-8 Sampai 1.048.487 byte (1 MiB - 89 byte). Hanya 1.500 byte pertama dari representasi UTF-8 yang dipertimbangkan oleh kueri.

Pengurutan jenis nilai

Apabila kueri melibatkan kolom dengan nilai berjenis campuran, Cloud Firestore menggunakan pengurutan deterministik berdasarkan representasi internal. Daftar berikut menunjukkan urutannya:

  1. Nilai null
  2. Nilai boolean
  3. Bilangan bulat dan nilai floating-point, diurutkan sesuai urutan numerik
  4. Nilai tanggal
  5. Nilai string teks
  6. Nilai byte
  7. Referensi Cloud Firestore
  8. Nilai titik geografis
  9. Nilai array
  10. Nilai peta