Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Mengemas kini Item Tertentu dalam Medan Tatasusunan dalam Firestore?

Bagaimana untuk Mengemas kini Item Tertentu dalam Medan Tatasusunan dalam Firestore?

Patricia Arquette
Patricia Arquetteasal
2024-11-16 15:53:03550semak imbas

How to Update a Specific Item in an Array Field in Firestore?

Mengemas kini Item dalam Medan Tatasusunan dalam Firestore

Apabila bekerja dengan medan tatasusunan dalam Firestore, anda mungkin menghadapi situasi di mana anda perlu mengemas kini item individu dalam tatasusunan.

Awal Pendekatan

Percubaan awal anda untuk mengemas kini medan dalam tatasusunan item menggunakan laluan bersarang tidak berjaya kerana Firestore tidak menyokong kemas kini terus kepada elemen tatasusunan. Sebaliknya, ia hanya membenarkan kemas kini kepada keseluruhan tatasusunan.

Pendekatan Alternatif

Untuk mengemas kini medan dalam tatasusunan item, anda boleh menggunakan langkah berikut:

  1. Baca keseluruhan tatasusunan daripada dokumen ke dalam memori.
  2. Ubah suai tatasusunan dalam ingatan dengan mengemas kini medan yang diingini.
  3. Kemas kini keseluruhan medan tatasusunan dengan tatasusunan yang diubah suai.

Pendekatan ini membolehkan anda membuat perubahan pada elemen individu sambil mengekalkan integriti tatasusunan.

Contoh:

Dalam senario khusus anda, untuk mengemas kini items[0].meta.description daripada "hello world" kepada "hello bar", anda akan:

// Read the entire items array
const items = await design.get().data().items;

// Modify the array in memory
items[0].meta.description = "hello bar";

// Update the entire items array
await design.update({
  items: items
});

Penyelesaian ini membolehkan anda mengemas kini medan yang diingini sambil mengekalkan struktur tatasusunan yang utuh.

Atas ialah kandungan terperinci Bagaimana untuk Mengemas kini Item Tertentu 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