如何解决将每个登录用户及其后备信息存储到Firestore
我想为我的带Firestore的应用程序提供最佳实践。我需要多个用户登录才能获得自己的结果。 例如,现在对于所有用户我只有一个结果。我有一些馆藏:学生,文档,评估,配置,... 该集合使用如下代码返回自己的文档数据:
db.collection('configuration')
.get()
.then(function (doc) {
doc.forEach(function(docData) {
console.log(Data," => ",docData.data());
})
.catch(function (error) {
console.log('Error getting documents: ',error);
});
使用此代码,我可以返回配置的文档数据,但是每个用户都有相同的结果。
如何为返回的每个登录用户返回不同的数据? 例如:
- 用户1 =>返回用户1的配置
- 用户2 =>返回用户2的配置
等...
更具体的问题:
我需要做什么?每个用户都有自己的集合,在这个用户的集合中,我需要使用配置,文档,学生,...来完成我的所有子集合。
Collection USER1
--- Subcollection CONFIGURATION
--- Subcollection STUDENTS
--- Subcollection DOCUMENTS ...
Collection USER2
--- Subcollection CONFIGURATION
--- Subcollection STUDENTS
--- Subcollection DOCUMENTS ...
还是我需要进行配置,文档,学生,...集合,并在此文档中管理user.id?
Collection CONFIGURATION .doc(uid)
Collection STUDENTS .where('id','===',user.id)
解决方法
最简单的方法就是使用用户的ID作为文档的ID。然后,您要做的就是get()
属于该用户的文档。如果您的用户ID位于名为uid
的变量中,则查询如下所示:
db.collection('configuration').doc(uid).get()
.then(function (snapshot) {
if (doc.exists) {
console.log(Data," => ",snapshot.data());
}
else {
// decide what you want to do if the document doesn't exist
}
})
.catch(function (error) {
// handle the error
});
我建议阅读reading a document的文档。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。