如何通过用户ID在Firebase中获取数据

时间:2019-03-21 15:53:36

标签: firebase react-native firebase-realtime-database firebase-authentication

我将用户插入firebase数据库中,每个用户都有自己的数据(电子邮件,姓名,年龄等。),我尝试获取单个用户(所连接设备的用户)的数据,我的功能是带数据但它带来了整个数据库,所有用户,请您帮忙解决问题, 这是我的代码:

componentWillMount(){
    firebase.auth().onAuthStateChanged((user) => {
      if (user) {
        firebase.database().ref('friends')
            .on('value', (snapshot) => {
                const data = snapshot.val() || [];
                this.handleData(data);
            });
      }
   });
  }

1 个答案:

答案 0 :(得分:0)

如果还没有,则需要将有关每个用户的信息拆分为子集合。

例如:朋友> user_1>电子邮件,姓名,年龄......

然后在Firebase查询中,您需要指定子集合。现在,您可以返回“朋友”下的所有条目。它应该看起来像这样:

componentWillMount(){
    firebase.auth().onAuthStateChanged((user) => {
      if (user) {
        firebase.database().ref('friends/' + user.uid) //reference uid of logged in user like so
            .on('value', (snapshot) => {
                const data = snapshot.val() || [];
                this.handleData(data);
            });
      }
   });
  }