Memilih Struktur Data

Harap diingat, saat Anda menyusun data di Cloud Firestore, Anda memiliki beberapa pilihan berbeda: dokumen, beberapa koleksi, dan subkoleksi dalam dokumen. Pertimbangkan keuntungan dari setiap pilihan karena hal itu berkaitan dengan kondisi penggunaan Anda.

Data bertingkat dalam dokumen

Anda bisa membuat tingkatan pada objek-objek yang kompleks di dalam dokumen seperti array (peta).

  • 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.
  • Keterbatasan: Anda tidak dapat menjalankan kueri pada daftar bertingkat. Selain itu, tindakan ini tidak skalabel seperti pilihan lain, 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 3 ruang chat yang baru dikunjungi oleh pengguna pada daftar bertingkat di profil mereka.
  • class alovelace
    •     name :
            first : "Ada"
            last : "Lovelace"
          born : 1815
          rooms :
            0 : "Software Chat"
            1 : "Famous Figures"
            2 : "Famous SWEs"

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.
  • Keterbatasan: Anda tidak dapat menghapus subkoleksi dengan mudah atau melakukan kueri gabungan di subkoleksi.
  • 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 science
    • class software
        name : "software chat"
      • collections_bookmark users
        • class alovelace
              first : "Ada"
              last : "Lovelace"
        • class sride
              first : "Sally"
              last : "Ride"`


    • class astrophysics
      • ...

Koleksi tingkat root

Buat koleksi pada tingkat root database Anda untuk mengatur kumpulan data yang berbeda.

  • Keuntungan: Koleksi tingkat root memberikan fleksibilitas dan skalabilitas yang terbaik, serta kueri yang kuat dalam setiap koleksi.
  • Keterbatasan: Mendapatkan data yang hierarkis secara alami bisa menjadi semakin rumit seiring dengan perkembangan database Anda.
  • Seperti apa kasus penggunaan yang mungkin terjadi? Dalam aplikasi chat yang sama, misalnya, Anda dapat membuat 1 koleksi untuk pengguna dan koleksi lain untuk ruangan dan pesan.
  • collections_bookmark pengguna
    • class alovelace
          first : "Ada"
          last : "Lovelace"
          born : 1815
    • class sride
          first : "Sally"
          last : "Ride"
          born : 1951
  • collections_bookmark rooms
    • class software
      • collections_bookmark messages
        • class message1
              from : "alovelace"
              content : "..."
        • class message2
              from : "sride"
              content : "..."

Kirim masukan tentang...

Butuh bantuan? Kunjungi halaman dukungan kami.