【问题标题】:Firebase get data based on key from parentFirebase 根据父级的键获取数据
【发布时间】:2020-11-23 15:57:27
【问题描述】:

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

我尝试的是

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

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

【问题讨论】:

    标签: javascript reactjs firebase ionic-framework firebase-realtime-database


    【解决方案1】:

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

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

    - users
       - {uid}
           - type: "doctors" | "patients" | "secretary"
           - email: ...
           - name: ...
    

    现在您可以非常轻松地查询 UID 以找出它是什么类型

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

    【讨论】:

    • 但是先生可以吗?他们有不同的领域。
    • 为什么不行?
    • 我只是想知道。不过谢谢先生的回答。我会让我的数据库像这样
    • 如果我选择secretary的所有用户类型先生,它只是相同的查询吗?
    • 我不确定你在问什么。我建议查看文档以了解有关实时数据库查询的详细信息。 firebase.google.com/docs/database/web/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-12-08
    • 2021-09-23
    • 1970-01-01
    • 2012-01-18
    • 1970-01-01
    相关资源
    最近更新 更多