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

235
Visualizações
¿Cómo se puede agregar el displayName de un usuario a una entrada de colección de la base de datos de Firestore?

Estoy configurando una página web simple con Firebase Authentication y una base de datos de Firestore que toma las entradas del usuario de un formulario, agrega las entradas como un documento de colección en Firestore y luego también genera la colección completa. Cada documento de la colección tiene dos campos, el Nombre y el Cuerpo del documento. El objetivo es permitir a los usuarios realizar publicaciones en el sitio web utilizando el formulario de entrada. Todo lo que describí funciona, pero ahora me gustaría mostrar el user.displayName con la publicación, para mostrar quién creó exactamente la entrada del usuario, y eso es lo que no sé cómo hacer. Aquí está el código relevante, del script.js del sitio web:

 const createForm = document.querySelector('#create-form'); createForm.addEventListener('submit', (e) => { e.preventDefault(); db.collection('forumposts').add({ Body: createForm['body'].value, //the line below is what I cannot figure out how to set up Name: string(user.displayName) }).then(() => { //reset the form createForm.reset(); }).catch(err => { console.log(err.message) }) });

Todavía estoy aprendiendo sobre JavaScript, así que pido disculpas si me estoy perdiendo algo obvio. Sé que el displayName del usuario (que se recopila al registrarse) se recopila correctamente, ya que puedo registrarlo en la consola y aparece correctamente. Simplemente no puedo entender cómo agregarlo como un campo en esta entrada de colección de base de datos. Intenté buscar aquí en SO preguntas relacionadas, pero solo recibo preguntas relacionadas con cómo el usuario puede agregar un nombre para mostrar al registrarse. Ya tengo el nombre para mostrar, solo necesito ingresarlo en la base de datos. ¡Cualquier ayuda sería muy apreciada!

about 4 years ago · Juan Pablo Isaza
2 Respostas
Responde à pergunta

0

¿Dónde se define el "user" ? Eso podría ser nulo si ningún usuario ha iniciado sesión, por lo que es mejor buscar al usuario.

 const createForm = document.querySelector('#create-form'); createForm.addEventListener('submit', (e) => { e.preventDefault(); const user = firebase.auth().currentUser if (user) { db.collection('forumposts').add({ Body: createForm['body'].value, Name: user.displayName || "No username" }).then(() => { //reset the form createForm.reset(); }).catch(err => { console.log(err.message) }) } else { console.log("NO user logged in") } });

No necesita el constructor String() . Si se define displayName , será una cadena. Puede usar if (user.displayName) antes de agregar la publicación para verificar si el usuario tiene un nombre para mostrar.

about 4 years ago · Juan Pablo Isaza Relatório

0

Es String(), no string(). Siempre que displayName sea una propiedad del usuario, se agregará a la base de datos.

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