Estoy tratando de almacenar ID de libros en la matriz de libros en firestore. cada vez que agrego un nuevo libro sobrescribe el primero.
await updateDoc( doc(dataBase, "users", user.uid), { currentlyReading: { arrayUnion(bookId) } }, { merge: true } ); Estoy usando updateDoc como se indica en la documentación + merge: true , pero solo almacena un elemento. ¿Hay alguna manera de que pueda seguir agregando elementos sin sobrescribirlos? Gracias de antemano.
El { merge: true } evita que los campos existentes se eliminen cuando se usa setDoc() y no funciona para los elementos de la matriz. No hay necesidad de esa opción cuando se usa updateDoc() . Una forma sería usar arrayUnion() para agregar nuevos elementos a la matriz.
import { doc, updateDoc, arrayUnion } from "firebase/firestore" await updateDoc(doc(dataBase, "users", (user.uid)), { currentlyReading:{ books: arrayUnion(bookId) } })