Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

179
Visualizações
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 Respostas
Responde à pergunta

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda