Bergabunglah dengan kami secara langsung dan online di Firebase Summit pada 18 Oktober 2022. Pelajari cara Firebase dapat membantu Anda mempercepat pengembangan aplikasi, merilis aplikasi dengan percaya diri, dan menentukan skala dengan mudah. Daftar sekarang

Jenis data yang didukung

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

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 tetapi 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 dari [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 Saat ini kami tidak merekomendasikan penggunaan jenis data ini karena keterbatasan kueri. Umumnya lebih baik menyimpan lintang dan bujur sebagai kolom numerik terpisah. Jika aplikasi Anda memerlukan kueri geografis berbasis jarak yang sederhana, lihat Kueri geografis
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 diurutkan berdasarkan kunci dan disimpan sebagai {a: "bar", b: "qux", c: "foo"}.

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 jalur (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