Saltar al contenido

Firebase Firestore: agregar/eliminar elementos del documento array

Ya no busques más en internet porque estás al lugar perfecto, poseemos la solución que buscas sin problema.

Solución:

Actualizar elementos en un array

Si su documento contiene un array campo, puede usar arrayUnion() y arrayRemove() para agregar y eliminar elementos. arrayUnion() agrega elementos a un array pero sólo elementos que aún no están presentes. arrayRemove() elimina todas las instancias de cada elemento dado.

let washingtonRef = db.collection("cities").document("DC")

// Atomically add a new region to the "regions" array field.
washingtonRef.updateData([
    "regions": FieldValue.arrayUnion(["greater_virginia"])
])

// Atomically remove a region from the "regions" array field.
washingtonRef.updateData([
    "regions": FieldValue.arrayRemove(["east_coast"])
])

Ver documentación aquí

De hecho, hoy en día es posible. Con las últimas actualizaciones db.collection.updateData
el método en realidad agrega un nuevo elemento a array en lugar de reemplazarlo. El uso de ejemplo se puede encontrar en la documentación de Firebase.

Si necesita hacerlo manualmente, puede usar

FieldValue.arrayUnion([user.uid])

No. Esto no es posible.

Los arreglos tienden a ser problemáticos en un entorno como Cloud Firestore donde, en teoría, muchos clientes podrían agregar o eliminar elementos de un array al mismo tiempo, si las instrucciones llegan en un orden ligeramente diferente, podría terminar con errores fuera de los límites, datos dañados o simplemente pasar un mal momento. Por lo tanto, debe usar un diccionario (donde puede especificar keys) o reemplace todo array.

Eres capaz de añadir valor a nuestra información participando con tu experiencia en las aclaraciones.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *