Rumah  >  Artikel  >  hujung hadapan web  >  Cara Mengemas kini Tatasusunan dalam Firestore Tanpa Tulis Ganti: Panduan untuk `arrayUnion` dan `arrayRemove`

Cara Mengemas kini Tatasusunan dalam Firestore Tanpa Tulis Ganti: Panduan untuk `arrayUnion` dan `arrayRemove`

Patricia Arquette
Patricia Arquetteasal
2024-10-25 08:08:02337semak imbas

How to Update Arrays in Firestore Without Overwriting: A Guide to `arrayUnion` and `arrayRemove`

Mengemas Kini Tatasusunan dalam Firestore dengan Mudah

Apabila bekerja dengan Firestore, anda mungkin menghadapi keperluan untuk mengemas kini tatasusunan dalam dokumen. Walaupun ini mungkin kelihatan seperti tugas yang mudah, untuk mencapainya dengan sempurna memerlukan pemahaman tentang keupayaan khusus Firestore.

Secara tradisinya, percubaan untuk mengemas kini tatasusunan menggunakan teknik seperti .set() dengan merge: true atau .update() selalunya terhasil. dalam menimpa kandungan tatasusunan. Walau bagaimanapun, Firestore kini menawarkan dua fungsi elegan yang memberi anda kuasa untuk menambah dan mengalih keluar elemen tatasusunan dengan lancar:

  • arrayUnion(): Menambah elemen secara terpilih pada tatasusunan, memastikan pendua dielakkan.
  • arrayRemove(): Mengalih keluar semua kejadian elemen tertentu daripada tatasusunan dengan cekap.

Sebagai contoh, katakan anda mempunyai dokumen dengan struktur berikut:

{
  proprietary: "John Doe",
  sharedWith: [
    {who: "[email protected]", when: timestamp},
    {who: "[email protected]", when: timestamp},
  ],
}

Untuk menambah entri baharu pada tatasusunan sharedWith, anda boleh menggunakan sintaks berikut:

<code class="javascript">firebase.firestore()
  .collection('proprietary')
  .doc(docID)
  .update({
    sharedWith: firebase.firestore.FieldValue.arrayUnion(
      {who: "[email protected]", when: new Date()}
    )
  });</code>

Begitu juga, untuk mengalih keluar elemen daripada tatasusunan, gunakan kaedah berikut:

<code class="javascript">firebase.firestore()
  .collection('proprietary')
  .doc(docID)
  .update({
    sharedWith: firebase.firestore.FieldValue.arrayRemove({who: "[email protected]"})
  });</code>

Dengan memanfaatkan fungsi khusus ini, anda boleh mengemas kini tatasusunan dalam dokumen Firestore anda dengan yakin tanpa bimbang tentang tiruan yang tidak diingini. Ingat untuk merujuk kepada dokumentasi Firestore rasmi untuk contoh terperinci dan panduan tentang senario tertentu.

Atas ialah kandungan terperinci Cara Mengemas kini Tatasusunan dalam Firestore Tanpa Tulis Ganti: Panduan untuk `arrayUnion` dan `arrayRemove`. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn