Ikuti semua informasi yang diumumkan di Firebase Summit, dan pelajari bagaimana Firebase dapat membantu Anda mempercepat pengembangan aplikasi dan menjalankan aplikasi dengan percaya diri. Pelajari Lebih Lanjut

Tipe data yang didukung

Tetap teratur dengan koleksi Simpan dan kategorikan konten berdasarkan preferensi Anda.

Halaman ini menjelaskan jenis data yang didukung Cloud Firestore.

Tipe data

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

Tipe data Urutkan urutan Catatan
Himpunan Dengan nilai elemen

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

Dalam sebuah array, elemen mempertahankan posisi yang ditetapkan untuk mereka. Saat mengurutkan dua atau lebih array, array diurutkan berdasarkan nilai elemennya.

Saat membandingkan dua array, elemen pertama dari setiap array dibandingkan. Jika elemen pertama sama, maka elemen kedua dibandingkan dan seterusnya sampai ditemukan perbedaan. Jika sebuah array kehabisan elemen untuk dibandingkan tetapi sama dengan titik tersebut, maka 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 terbesar. Array [1, 2, 3] memiliki elemen yang sama dengan tiga elemen pertama [1, 2, 3, 1] tetapi lebih pendek panjangnya.

Boolean false < true
Byte Urutan byte Hingga 1.048.487 byte (1 MiB - 89 byte). Hanya 1.500 byte pertama yang dipertimbangkan oleh kueri.
Tanggal dan waktu Kronologis Saat disimpan di Cloud Firestore, presisi hanya hingga mikrodetik; setiap presisi tambahan dibulatkan ke bawah.
Angka titik-mengambang numerik Presisi ganda 64-bit, IEEE 754.
Titik geografis Dengan garis lintang, lalu garis bujur Saat ini kami tidak menyarankan penggunaan tipe data ini karena keterbatasan kueri. Biasanya lebih baik menyimpan garis lintang dan garis bujur sebagai bidang numerik yang terpisah. Jika aplikasi Anda membutuhkan geoquery sederhana berbasis jarak, lihat kueri Geo
Bilangan bulat numerik 64-bit, ditandatangani
Peta Dengan kunci, lalu dengan nilai

Mewakili objek yang disematkan di dalam dokumen. Saat diindeks, Anda dapat melakukan kueri pada subbidang. Jika Anda mengecualikan nilai ini dari pengindeksan, maka semua subbidang juga dikecualikan dari pengindeksan.

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

Bidang peta diurutkan menurut kunci dan dibandingkan dengan pasangan nilai kunci, pertama-tama membandingkan kunci dan kemudian nilainya. Jika pasangan nilai kunci pertama sama, pasangan nilai kunci berikutnya dibandingkan, dan seterusnya. Jika dua peta dimulai dengan pasangan nilai kunci yang sama, maka panjang peta dipertimbangkan. 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"}

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

Pemesanan tipe nilai

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

  1. Nilai nol
  2. Nilai Boolean
  3. Nilai integer dan floating-point, diurutkan dalam 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