如何在Firebase实时数据库中基于第三个节点检索节点的节点?

时间:2019-06-21 16:49:03

标签: android firebase firebase-realtime-database

我正在使用Firebase实时数据库在市场应用程序中开发购物车并订购屏幕。

我的订单结构:

Firebase order structure

我要在这里根据状态检索所有用户的所有订单!这是一个好的结构吗?

1 个答案:

答案 0 :(得分:1)

我通过更改订单结构解决了这个问题:

  1. 我删除下一个出现的userId节点:orders / uid

  2. 订单结构成为订单/ order_id / userId

enter image description her

  1. 我将订单安全规则更改为:

    "Orders":{
      ".read" : true,
        "$id":{
          ".write" : "newData.child('userId').val() === auth.uid",
          ".read" : "root.child('Orders').child($id).child('userId').val() === auth.uid", 
          }     
    }
    

现在我可以通过方法orderByChild()equalTo()来查询我想要的内容