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

Patricia Arquette
Lepaskan: 2024-10-25 08:08:02
asal
336 orang telah melayarinya

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},
  ],
}
Salin selepas log masuk

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>
Salin selepas log masuk

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>
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!