如何使用来自firebase的UID获取电子邮件?

时间:2017-10-21 05:19:13

标签: reactjs firebase search

我正在尝试使用UID收到电子邮件。这就是我的firebase数据库的样子:

click here for picture of database

目前,这是我尝试过的,但它似乎并没有起作用。

var newEmail = '';
var database = app.database().ref('User/');
database.orderByChild().equalTo(uid).on('value', function(snapshot) {
  newEmail = snapshot.val().email;
})

另外,我应该向Uid添加电子邮件,以便有一个哈希的快照ID吗?

1 个答案:

答案 0 :(得分:0)

首先,您的参考路径不正确;在屏幕截图中,您有另一个父节点Uid

var newEmail = '';
var database = app.database().ref('User/Uid');
...

其次,您在不传递path参数的情况下查询orderByChild,但无论如何您应该使用orderByKey。但是,您不需要查询参考;你知道你想要值的快照的关键,所以你可以通过插入UID创建一个直接路径。

app.database().ref(`User/Uid/${uid}`).on('value', function(snapshot) {
  newEmail = snapshot.val().email;
});

最后,你正在听取参考;如果你只需要一次值,你可以用同样的方式使用.once函数,顾名思义就是触发一次。

app.database().ref(`User/Uid/${uid}`).once('value', function(snapshot) {
  newEmail = snapshot.val().email;
});