Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

185
Vistas
¿Cómo fusionar documentos duplicados de Firestore?

Quiero crear una función que recorra una matriz y cree un nuevo documento en la base de datos de Firestore con una id y campos de quantity para cada elemento de la matriz, pero quiero que la función combine los documentos si ya hay otro documento con la misma identificación. existe probé el siguiente código:

 useEffect(() => { !Locked && User && Uid && items && items.forEach(item=> User && db.collection("users").doc(Uid).collection("basket").add({ id : item.id, quantity : item.quantity }, {merge: true}) .then(setLocked(true)) ) }, [items, User,Locked,Uid])

pero no funcionó, entonces traté de cambiar el .add a .set pero muestra el siguiente error:

 TypeError: _backend_firebase__WEBPACK_IMPORTED_MODULE_7__.db.collection(...).doc(...).collection(...).set is not a function
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

No puede llamar a un set en una colección. Solo puede escribir en un documento dentro de esa colección.

Primero deberá usar una consulta para encontrar el documento duplicado y luego actualizar ese documento.


Si cada item.id tiene que ser único dentro de la basket de un usuario, considere usar el Id. del artículo como el Id. del documento, en lugar de llamar a add :

 User && db.collection("users").doc(Uid).collection("basket").doc(item.id).set({ id : item.id, quantity : item.quantity }, {merge: true})

Esto hace que sea mucho más fácil actualizar el documento más tarde, ya que puede volver a escribir en el documento en función de su ID de documento/elemento, en lugar de necesitar una consulta.

about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda