React Native Firebase 如何从特定用户的表数组中获取数据

React Native Firebase how to fetch data from array of tables with specific user

我正在从导师 table(特定用户)那里获取 "userId",并根据该用户 ID 在 "tutorCopy" 下创建一个 table,那些接受的用户"john@john.com" 的服务保存了它的 userId 和 useremail。现在,当 john@john.com 登录系统时,我想显示分配给他的 email/persons 的数量。 这是我到目前为止所做的,但我无法联系到 useremail:

 componentWillMount(){
     var refx =firebase.database().ref("tutorCopy")
    refx.orderByChild("table").on("value", function(snapshot) {
        snapshot.forEach(function(data) {
            this.setState({ markers: Object.values(snapshot.val()) })
          //alert(data.useremail)
        });
      });
    }

此外,我只想显示那些具有从 tutor table 到 tutorCopy 的 tutorId 匹配项的用户邮件。

尝试以下操作:

 componentWillMount(){
     var refx =firebase.database().ref("tutorCopy")
    refx.on("value", function(snapshot) {
        snapshot.forEach((childSnapshot) => {
          childSnapshot.forEach((childSnap) =>{
           console.log(childSnap.val());
          });
        });
      });
    }

您需要迭代两次才能访问 useremail,而且 orderByChild("table") 在这种情况下也不起作用,因为您无法访问 table 节点,因为您需要进一步访问一个节点, 例子:

var refx =firebase.database().ref("tutorCopy")
refx.child(userId).orderByChild("table")