Halaman ini menjelaskan jenis data yang didukung Cloud Firestore.
Tipe data
Tabel berikut mencantumkan jenis data yang didukung oleh Cloud Firestore. Ini juga menjelaskan tata urutan yang digunakan saat membandingkan nilai dari tipe yang sama:
Tipe data | Sortir pesanan | Catatan |
---|---|---|
Himpunan | Dengan nilai elemen | Array tidak dapat berisi nilai array lain sebagai salah satu elemennya. Di dalam array, elemen mempertahankan posisi yang ditetapkan untuknya. Saat mengurutkan dua atau lebih larik, larik diurutkan berdasarkan nilai elemennya. Saat membandingkan dua larik, elemen pertama dari setiap larik akan dibandingkan. Jika unsur pertama sama, maka unsur kedua dibandingkan dan seterusnya sampai ditemukan perbedaan. Jika array kehabisan elemen untuk dibandingkan tetapi sama sampai titik itu, maka array yang lebih pendek diurutkan sebelum array yang lebih panjang. Misalnya, |
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, hanya berpresisi hingga mikrodetik; presisi tambahan apa pun dibulatkan ke bawah. |
Angka floating-point | Numerik | Presisi ganda 64-bit, IEEE 754. |
Titik geografis | Berdasarkan garis lintang, lalu garis bujur | Saat ini kami tidak menyarankan penggunaan tipe data ini karena keterbatasan kueri. Biasanya lebih baik menyimpan lintang dan bujur sebagai bidang numerik terpisah. Jika aplikasi Anda memerlukan geokueri berbasis jarak sederhana, lihat Kueri geo |
Bilangan bulat | Numerik | 64-bit, ditandatangani |
Peta | Dengan kunci, lalu dengan nilai | Merupakan objek tertanam dalam dokumen. Saat diindeks, Anda dapat melakukan kueri pada subbidang. Jika Anda mengecualikan nilai ini dari pengindeksan, semua subbidang juga dikecualikan dari pengindeksan. Urutan kunci selalu disortir. Misalnya, jika Anda menulis Bidang peta diurutkan berdasarkan kunci dan dibandingkan dengan pasangan kunci-nilai, 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 key-value pair yang sama, panjang peta akan dipertimbangkan. Misalnya, peta berikut dalam urutan menaik: |
Batal | Tidak ada | — |
Referensi | Berdasarkan elemen jalur (koleksi, ID dokumen, koleksi, ID dokumen...) | Misalnya, projects/[PROJECT_ID]/databases/[DATABASE_ID]/documents/[DOCUMENT_PATH] . |
Untaian 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. |
Pengurutan tipe nilai
Saat kueri melibatkan kolom dengan nilai tipe campuran, Cloud Firestore menggunakan pengurutan deterministik berdasarkan representasi internal. Daftar berikut menunjukkan urutannya:
- Nilai nol
- Nilai Boolean
- Nilai integer dan floating-point, diurutkan dalam urutan numerik
- Nilai tanggal
- Nilai string teks
- Nilai byte
- Referensi Cloud Firestore
- Nilai titik geografis
- Nilai larik
- Nilai peta