Heim > Web-Frontend > js-Tutorial > Hauptteil

Wie aktualisiere ich ein bestimmtes Element in einem Array-Feld in Firestore?

Patricia Arquette
Freigeben: 2024-11-16 15:53:03
Original
486 Leute haben es durchsucht

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

Aktualisieren eines Elements in einem Array-Feld in Firestore

Beim Arbeiten mit Array-Feldern in Firestore kann es vorkommen, dass Sie eine Aktualisierung durchführen müssen einzelne Elemente innerhalb des Arrays.

Erster Ansatz

Ihr erster Versuch, ein Feld innerhalb eines Elementarrays mithilfe verschachtelter Pfade zu aktualisieren, hat nicht funktioniert, da Firestore keine direkten Aktualisierungen unterstützt um Elemente anzuordnen. Stattdessen sind nur Aktualisierungen des gesamten Arrays möglich.

Alternativer Ansatz

Um ein Feld innerhalb eines Elementarrays zu aktualisieren, können Sie die folgenden Schritte ausführen:

  1. Lesen Sie das gesamte Array aus dem Dokument in den Speicher.
  2. Ändern Sie das Array im Speicher, indem Sie das gewünschte Feld aktualisieren.
  3. Aktualisieren Sie das gesamte Array-Feld mit dem geänderten Array.

Mit diesem Ansatz können Sie Änderungen an einzelnen Elementen vornehmen und gleichzeitig die Integrität des Arrays wahren.

Beispiel:

In Ihrem spezifischen Szenario: Um items[0].meta.description von „hello world“ auf „hello bar“ zu aktualisieren, würden Sie:

// 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
});
Nach dem Login kopieren

Mit dieser Lösung können Sie das gewünschte Feld aktualisieren und dabei die Array-Struktur intakt halten.

Das obige ist der detaillierte Inhalt vonWie aktualisiere ich ein bestimmtes Element in einem Array-Feld in Firestore?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage