Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimanakah Saya Boleh Mengemas kini Item Tunggal dalam Medan Tatasusunan dalam Firestore?

Bagaimanakah Saya Boleh Mengemas kini Item Tunggal dalam Medan Tatasusunan dalam Firestore?

Susan Sarandon
Susan Sarandonasal
2024-11-19 07:46:02846semak imbas

How Can I Update a Single Item in an Array Field in Firestore?

Mengemas kini Item Tunggal dalam Medan Tatasusunan dalam Firestore

Anda mempunyai medan tatasusunan dipanggil item dalam dokumen Firestore dan anda mahu kemas kini medan dalam salah satu objek dalam tatasusunan.

Percubaan Awal

Percubaan awal anda menggunakan kod berikut:

const key = `items.${this.state.index}.meta.description`
const property = `hello bar`;

this.design.update({
  [key]: property
})
...

Walau bagaimanapun , ini mengalih keluar keseluruhan objek pada indeks tatasusunan yang ditentukan, hanya meninggalkan medan penerangan.

Percubaan Diubah Suai

Percubaan anda yang diubah suai menggunakan kod berikut:

const key = `items.${this.state.index}.meta`
const property = e.target.value;
let meta = this.state.meta;
meta[e.target.id] = property;

this.design.update({
  [key]: meta
})
...

Ini seolah-olah menukar tatasusunan item kepada objek, kehilangan struktur tatasusunan.

Penghadan Firestore

Firestore mempunyai had dalam mengemas kini medan tatasusunan. Ia hanya membenarkan menambah atau mengalih keluar elemen, bukan mengubah suai yang sedia ada.

Penyelesaian

Untuk mengubah suai item dalam medan tatasusunan, anda perlu membaca keseluruhan tatasusunan, buat perubahan yang diperlukan dalam memori, dan kemudian kemas kini keseluruhan medan tatasusunan yang diubah suai.

const items = this.design.get("items"); // Read the array field
items[this.state.index].meta.description = "hello bar"; // Modify the item
this.design.update({
  items: items // Update the entire modified array
})
...

Dengan menggunakan pendekatan ini, anda boleh mengemas kini item tertentu dalam medan tatasusunan tanpa kehilangan struktur tatasusunan.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengemas kini Item Tunggal dalam Medan Tatasusunan dalam Firestore?. 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