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

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

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 Report

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