【发布时间】:2018-08-15 08:37:33
【问题描述】:
如何在 Cloud Firestore 数据库中保存其他用户数据?我的意思是,哪一个是正确的方法?我想创建一个用户集合,我可以在其中存储他们的用户名和其他数据。我已经找到了关于这个问题的答案,但他们都在使用“旧”的 Firebase 实时数据库解决方案。
现在我是这样做的(这是一个Vue组件):
methods: {
doSignUp () {
if (!this.email || !this.password) {
return
}
firebase.auth().createUserWithEmailAndPassword(this.email, this.password)
.then(data => {
this.createUser(data)
}).catch(err => console.log(err))
},
createUser (userObject) {
const docRef = this.$store.getters.getDB.collection('users')
const username = userObject.email.split('@')[0]
docRef
.doc(username)
.set({
id: userObject.uid,
username
}).then().catch((err) => console.log(err))
}
}
在上面的示例中,我只是简单地在“users”集合中创建了一个新文档,并将用户的 ID 保存为“id”。这是正确的方法吗?我不确定。
【问题讨论】:
-
在您的示例中,“用户名”可能不是唯一的
-
是的,我知道,感谢您的评论。它只是一个学习 Vue 和 Firebase 的演示应用。
-
这正是我的方法。您最终得到 2 个用户列表,您需要注意,如果用户想要删除他的个人资料,您需要将他从 2 个地方删除,但除此之外没关系
-
你还需要检查用户是否已经退出
标签: javascript firebase vue.js google-cloud-firestore