Maison > interface Web > js tutoriel > Comment puis-je mettre à jour un seul élément dans un champ de tableau dans Firestore ?

Comment puis-je mettre à jour un seul élément dans un champ de tableau dans Firestore ?

Susan Sarandon
Libérer: 2024-11-19 07:46:02
original
901 Les gens l'ont consulté

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

Mise à jour d'un seul élément dans un champ de tableau dans Firestore

Vous disposez d'un champ de tableau appelé éléments dans un document Firestore et vous souhaitez mettre à jour un champ dans l'un des objets du tableau.

Initial Tentative

Votre tentative initiale a utilisé le code suivant :

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

this.design.update({
  [key]: property
})
...
Copier après la connexion

Cependant, cela a supprimé l'intégralité de l'objet à l'index de tableau spécifié, ne laissant que le champ de description.

Tentative modifiée

Votre tentative modifiée a utilisé ce qui suit code :

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
})
...
Copier après la connexion

Cela a apparemment converti le tableau d'éléments en un objet, perdant ainsi la structure du tableau.

Limites de Firestore

Firestore a des limites dans mise à jour des champs du tableau. Il permet uniquement d'ajouter ou de supprimer des éléments, pas de modifier ceux existants.

Solution

Pour modifier un élément dans un champ de tableau, vous devez lire l'intégralité du tableau, faire les modifications nécessaires en mémoire, puis mettre à jour l'intégralité du champ du tableau modifié.

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
})
...
Copier après la connexion

En utilisant cette approche, vous pouvez mettre à jour l'élément spécifique dans le champ du tableau sans perdre le structure du tableau.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal