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

168
Vistas
firebase: agregue y elimine nuevos valores en una matriz

Tengo dos matrices en la base de datos en tiempo real de Firebase que administrarán los seguidores de los usuarios y los siguientes. Creé esta función en mi aplicación vue que agregará el seguimiento si un usuario hace clic en el botón en el perfil de otro usuario y lo siguiente en el perfil del usuario que hizo clic:

 async followUser() { await update(ref(db, 'Users/'+ this.profileKey), { followers: [store.currentUser.uid] }) await update(ref(db, 'Users/'+ store.currentUserKey), { following: [this.$route.params.uid] }) }

De momento he probado en dos perfiles que he creado ad-hoc y la función actúa como esperaba pero tengo una duda al respecto. Si el usuario comienza a seguir a otros usuarios, ¿se agregarán correctamente las nuevas entradas a la matriz existente o se sobrescribirán todos los datos? ¿Cuál es la forma correcta de insertar o eliminar el valor en una matriz almacenada en la base de datos en tiempo real de Firebase?

about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

No existe una forma atómica de agregar o eliminar un elemento de una matriz en la API de base de datos en tiempo real de Firebase. Tendrá que leer toda la matriz, agregar el elemento y volver a escribir la matriz.

Sería mejor almacenar los followers y followings como mapas en lugar de matrices, con valores de true (ya que no puede tener una clave sin un valor en Firebase. Si hiciera eso, agregar un nuevo seguidor de usuario sería:

 set(ref(db, 'Users/'+ this.profileKey+'/followers/'+store.currentUser.uid), true)

Y eliminar un seguimiento sería:

 set(ref(db, 'Users/'+ this.profileKey+'/followers/'+store.currentUser.uid), null)

O

 remote(ref(db, 'Users/'+ this.profileKey+'/followers/'+store.currentUser.uid))

Consulte también: Prácticas recomendadas: arreglos en Firebase .

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