Heim > Web-Frontend > js-Tutorial > Hauptteil

Wie aktualisiere ich Arrays von Objekten in Firestore, ohne das gesamte Array zu überschreiben?

DDD
Freigeben: 2024-10-30 21:57:30
Original
575 Leute haben es durchsucht

How to Update Arrays of Objects in Firestore Without Overwriting the Entire Array?

Arrays von Objekten mit Firestore aktualisieren

In Firestore kann das Aktualisieren von Arrays von Objekten eine komplexe Aufgabe sein. Hier gehen wir das Problem an und bieten eine Lösung, die die Herausforderungen beim Zusammenführen von Daten löst.

Das Problem

Typischerweise erfordert das Ändern von Arrays in Firestore den Austausch des gesamten Arrays . Bei Verwendung der SET-Methode wird das Array überschrieben, während die UPDATE-Methode dieselbe Aktion ausführt. Dieses Verhalten führt zu Einschränkungen beim Versuch, einzelne Elemente innerhalb eines Arrays von Objekten zu aktualisieren.

Die Lösung

Firestore bietet jetzt zwei Methoden zum Verwalten von Arrays, ohne das gesamte Array zu überschreiben:

  • arrayUnion(): Fügt Elemente zu einem Array hinzu und stellt sicher, dass nur eindeutige Elemente enthalten sind.
  • arrayRemove(): Entfernt alle Instanzen angegebener Elemente aus einem Array.

Um ein Array von Objekten mit diesen Methoden zu aktualisieren, führen Sie die folgenden Schritte aus:

  1. Verweisen Sie auf das Dokument, das das zu aktualisierende Array enthält.
  2. Verwenden Sie die update()-Methode entweder mit arrayUnion() oder arrayRemove().
  3. Übergeben Sie ein Objekt an die arrayUnion()-Methode mit den aktualisierten Elementen als Eigenschaften.
  4. Übergeben Sie ein Array mit den zu entfernenden Elementen an die Methode arrayRemove().

Beispielcode

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

// Remove an element from the "sharedWith" array
firebase.firestore()
  .collection('proprietary')
  .doc(docID)
  .update({
    sharedWith: firebase.firestore.FieldValue.arrayRemove({ who: "[email protected]", when: timestamp })
  });</code>
Nach dem Login kopieren

Durch die Verwendung von arrayUnion() und arrayRemove( ) können Sie Arrays von Objekten in Firestore nahtlos aktualisieren und so sicherstellen, dass Änderungen in das vorhandene Array eingefügt werden, ohne es zu überschreiben.

Das obige ist der detaillierte Inhalt vonWie aktualisiere ich Arrays von Objekten in Firestore, ohne das gesamte Array zu überschreiben?. 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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage