Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

187
Views
La matriz de Firestore del mapa no se actualiza

Así que estoy trabajando en un proyecto personal para aprender a usar react-native y Firestore.

Tengo una base de datos como esta:

imagen de base de datos

Y quiero que mi código agregue una batería nueva en el conjunto de batteries . Los elementos de la matriz son solo un map{string, string}

El problema es que cuando actualizo la matriz con una nueva marca, funciona, pero si quiero actualizarla con la misma marca, tengo que tener al final

 batteries[0]: {'brand': 'cestmoi'} batteries[1]: {'brand': 'cestmoi'}

La base de datos no se actualiza, no tiene ningún error o algo así.

No entiendo por qué y seguí su tutorial. Aquí está mi código:

 async function addData(collection, doc, value) { console.log(`Add data ${value.brand}`) try { const result = await firestore() .collection(collection) .doc(doc) .set({ batteries: firestore.FieldValue.arrayUnion(value) }) console.log(result); return result; } catch (error) { return error; } }

Uso try-catch por costumbre, pero no sé si then...catch es mejor o no.

about 4 years ago · Juan Pablo Isaza
2 answers
Answer question

0

Como ya mencionó @windowsill en su respuesta, no hay forma de que pueda agregar elementos duplicados en una matriz usando el código del lado del cliente. Si su aplicación lo requiere, entonces debe leer la matriz completa, agregar los duplicados y luego escribir el documento nuevamente en Firestore.

Sin embargo, si desea actualizar un elemento existente en una matriz de objetos (mapas), debe usar arrayUnion con todo el objeto. Si desea comprender mejor el mecanismo, puede leer el siguiente artículo que se llama:

  • ¿Cómo actualizar una matriz de objetos en Firestore?
about 4 years ago · Juan Pablo Isaza Report

0

arrayUnion dice que "agrega elementos a una matriz, pero solo elementos que aún no están presentes". Tal vez hace una cadena o algo para verificar la igualdad y, por lo tanto, no agrega el nuevo elemento. Creo que tendrá que 1. obtener la lista actual, 2. agregar su elemento, 3. configurar el campo de baterías en la lista actualizada.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!