Javascript Firebase基于来自父级的密钥获取数据

Javascript Firebase基于来自父级的密钥获取数据,javascript,reactjs,firebase,ionic-framework,firebase-realtime-database,Javascript,Reactjs,Firebase,Ionic Framework,Firebase Realtime Database,我得到了一个父表,它是users,其中有3个子表。我可以通过传递uid访问孩子的数据吗?这是我的用户结构 我试过的是 firebase.database().ref().child('users').equalTo(localStorage.getItem('uid')).once('value',snap =>{ console.log(snap.val()) }) 每次我都会得到一个null值。我只想在登录时获取什么类型的用户,以便为每个用户显示适当的U

我得到了一个父表,它是
users
,其中有3个子表。我可以通过传递uid访问孩子的数据吗?这是我的用户结构

我试过的是

    firebase.database().ref().child('users').equalTo(localStorage.getItem('uid')).once('value',snap =>{
      console.log(snap.val())
    })

每次我都会得到一个
null
值。我只想在登录时获取什么类型的用户,以便为每个用户显示适当的UI。我刚刚接触firebase。

您的数据库结构不允许您尝试执行的查询类型。您只能从查询的根节点深层筛选一级的子节点。这里的根节点是“users”,但是您的实际用户数据在它下面有两层

如果只想查找给定UID的用户类型,则需要将所有用户置于同一根节点下的结构:

- users
   - {uid}
       - type: "doctors" | "patients" | "secretary"
       - email: ...
       - name: ...
现在,您可以非常轻松地查询UID以了解它是什么类型

firebase.database().ref().child('users').child(uid).once('value', ...)

但是可以吗,先生?他们有不同的领域。为什么不好?我只是想知道。但是谢谢你的回答。如果我选择所有
secretary
类型的用户,那么我的数据库就是这样的,先生,这是同一个查询,对吗?我不知道你在问什么。我建议查看文档以了解有关实时数据库查询的详细信息。