如果文档ID等于当前用户,如何查询Firestore返回字符串

时间:2020-02-25 20:53:00

标签: firebase google-cloud-firestore

我如何编写查询当前用户是否等于文档ID的查询,并且如果用户的ID是特定集合中任何文档的名称,则如何返回字符串?我有三个集合,分别是admin,student和preceptor。

我需要根据用户所在的集合将其发送到特定位置。

这个想法是,如果用户等于文档ID,那么我想返回此字符串。

据我所知:

firebase.firestore.collection('Admin').where("uid", "==", user.uid)

1 个答案:

答案 0 :(得分:1)

尽管Firestore确实支持所谓的集合组查询,但只有在(子)集合具有相同的名称时,这些查询才起作用,例如,如果每个用户下都有一个history集合,则可以使用所有history个馆藏中的馆藏组查询。

无法查询具有不同名称的三个集合。这些集合中的每个集合都需要一个单独的查询。

说实话,尽管您的数据模型有点臭。最常见的是拥有一个包含所有用户(管理员,学生和主持人)的用户集合,然后将其作为字段的角色存储在users集合中的文档中。

这样,您可以通过以下方式阅读他们的个人资料:

firebase.firestore().collection('user').doc(user.uid)

然后根据该文档中的role字段值将它们发送到右侧屏幕。