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

230
Vistas
¿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 Respuestas
Responde la pregunta

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 Denunciar

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