【发布时间】:2021-10-17 20:30:03
【问题描述】:
我正在使用 Firebase 身份验证和 Firestore 数据库设置一个简单的网页,该数据库从表单中获取用户输入,将输入添加为 Firestore 中的集合文档,然后还输出整个集合。集合中的每个文档都有两个字段,文档的名称和正文。目标是允许用户使用输入表单在网站上发帖。我描述的一切都在工作,但现在我想在帖子中显示user.displayName,以显示究竟是谁创建了用户输入,这就是我不知道该怎么做的事情。这是相关代码,来自网站的script.js:
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)
})
});
我还在学习 JavaScript,所以如果我遗漏了一些明显的东西,我深表歉意。我知道正在正确收集用户的 displayName(在注册时收集),因为我可以将其记录到控制台并正确显示。我只是不知道如何将其添加为此数据库集合输入中的字段。我曾尝试在 SO 上搜索相关问题,但只收到与用户如何在注册时添加显示名称相关的问题。我已经有了显示名称,我只需要将它输入到数据库中。任何帮助将不胜感激!
【问题讨论】:
-
您在注册时是否设置了
displayName? IT 不是自动设置的。您能否分享注册码,以便我们确认您正在设置名称? -
我正在使用 Firebase Auth UI,它在注册时要求提供 displayName,所以是的,它是在注册期间设置的。
标签: javascript firebase google-cloud-firestore firebase-authentication firebaseui