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

163
Views
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 answers
Answer question

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 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!