Membuat struktur data
Ingat, saat Anda menyusun data di Firestore, Anda memiliki beberapa pilihan berbeda:
- Dokumen
- Beragam koleksi
- Subkoleksi dalam dokumen
Pertimbangkan keuntungan dari setiap pilihan karena hal tersebut berkaitan dengan kasus penggunaan Anda. Beberapa contoh struktur untuk data hierarkis diuraikan dalam panduan ini.
Data bertingkat dalam dokumen
Anda dapat membuat tingkatan pada objek-objek yang kompleks seperti array atau peta dalam dokumen.
- Keuntungan: Jika Anda memiliki daftar data sederhana dan tetap yang ingin Anda simpan di dalam dokumen, hal ini mudah untuk disiapkan dan akan menyederhanakan struktur data Anda.
-
Batasan: Tindakan ini tidak skalabel seperti opsi lainnya, terutama jika data Anda bertambah dari waktu ke waktu. Dengan daftar yang lebih besar atau berkembang, dokumen juga tumbuh, yang dapat menyebabkan waktu pengambilan dokumen menjadi lebih lambat.
- Apakah kasus penggunaan yang mungkin terjadi? Dalam aplikasi chat, misalnya, Anda dapat menyimpan tiga ruang chat yang baru dikunjungi oleh pengguna sebagai daftar bertingkat di profilnya.
|
- class tali sepatu
- nama :
depan : "Ada"
belakang : "Lovelace"
lahir : 1815
ruang :
0 : "Chat Software"
1 : "Lovelace"
|
Subkoleksi
Anda dapat membuat koleksi dalam dokumen jika Anda memiliki data yang mungkin bertambah dari waktu ke waktu.
- Keuntungan: Seiring dengan perkembangan daftar Anda, ukuran dokumen induk tidak berubah. Anda juga mendapatkan kemampuan kueri penuh pada subkoleksi, dan Anda dapat menerbitkan
kueri grup koleksi di seluruh subkoleksi.
-
Batasan: Anda tidak dapat menghapus subkoleksi dengan mudah.
- Apakah kasus penggunaan yang mungkin terjadi? Dalam aplikasi chat yang sama, misalnya, Anda dapat membuat koleksi pengguna atau pesan dalam dokumen ruang chat
|
- collections_bookmark sains
- class software
nama : "chat software"
- collections_bookmark
pengguna
- class
alovelace
depan : "Ada"
belakang : "Lovelace"
- class
sride
depan : "Sally"
belakang : "Ride"`
- class astrofisika
|
Koleksi tingkat root
Buat koleksi pada tingkat root database Anda untuk mengatur set data yang berbeda.
- Keuntungan: Koleksi tingkat root berguna untuk hubungan many-to-many dan memberikan pembuatan kueri yang andal dalam setiap koleksi.
-
Keterbatasan: Mendapatkan data yang hierarkis secara alami bisa menjadi semakin rumit seiring dengan perkembangan database Anda.
- Apakah kasus penggunaan yang mungkin terjadi? Dalam aplikasi chat yang sama, misalnya, Anda dapat membuat satu koleksi untuk pengguna dan satu koleksi lain untuk chat room dan pesan.
|
- collections_bookmark
pengguna
- class alovelace
depan : "Ada"
terakhir : "Lovelace"
lahir : 1815
- class sride
depan : "Sally"
terakhir : "Ride"
lahir : 1951
- collections_bookmark room
- class software
- collections_bookmark
pesan
- class
pesan1
dari : "alovelace"
konten : "..."
- class
pesan2
dari : "sride"
isi : "..."
|
Video
Untuk mempelajari lebih lanjut, tonton video berikut: