我如何编写查询当前用户是否等于文档ID的查询,并且如果用户的ID是特定集合中任何文档的名称,则如何返回字符串?我有三个集合,分别是admin,student和preceptor。
我需要根据用户所在的集合将其发送到特定位置。
这个想法是,如果用户等于文档ID,那么我想返回此字符串。
据我所知:
firebase.firestore.collection('Admin').where("uid", "==", user.uid)
答案 0 :(得分:1)
尽管Firestore确实支持所谓的集合组查询,但只有在(子)集合具有相同的名称时,这些查询才起作用,例如,如果每个用户下都有一个history
集合,则可以使用所有history
个馆藏中的馆藏组查询。
无法查询具有不同名称的三个集合。这些集合中的每个集合都需要一个单独的查询。
说实话,尽管您的数据模型有点臭。最常见的是拥有一个包含所有用户(管理员,学生和主持人)的用户集合,然后将其作为字段的角色存储在users
集合中的文档中。
这样,您可以通过以下方式阅读他们的个人资料:
firebase.firestore().collection('user').doc(user.uid)
然后根据该文档中的role
字段值将它们发送到右侧屏幕。