2016-09-24 41 views
0

我在我的火力点数据库如下:检测如果电子邮件中已经存在火力

Users 
-VCVVsqwws_QSds2ADC1 
    email: 
     "[email protected]" 
-VCVxCaQ_dSwWBC21AB4 
    email: 
     "[email protected]" 

,然后在我的.js文件中的行:

firebase.initializeApp(config); 
var register = firebase.database().ref("Users"); 

如何我已经检查,如果用户包含之前的电子邮件它到Users?我试图遵循https://gist.github.com/anantn/4323949,但浏览器表示无法实例化Firebase(新的Firebase),即使所有内容都已导入并包含在内。

回答

0

您可以使用下面的代码:

var register = firebase.database().ref("Users/{{userId}}"); 

register.once('value', function(snapshot) { 
    if(snapshot.val().hasOwnProperty('email')) { 
    console.log("Email exist."); 
    } 
    else { 
    console.log("Email not exist."); 
    /* Code to push email to the specific user */ 
    } 
}); 
+0

'userId'从哪里来? @ ti2005 –

+0

在你的例子中,'VCVVsqwws_QSds2ADC1'是一个userid权限? –

+0

@TomRussell - 我想知道的是,'VCVVsqwws_QSds2ADC1'是用户的ID还是只是一个动态密钥? –

0

您也可以使用下面的代码(触发报警:ES6)如果你需要检查只有一个用户的真快:

firebase.database().ref(`Users/${userId}`)once('value').then(snapshot => { 
    if(snapshot.val().hasOwnProperty('email')) { 
    console.log("Email exists."); 
    } 
    else { 
    console.log("Email doesn't exist."); 
    /* Code to push email to the specific user */ 
    } 
}); 

请注意,ti2005's snippet工作得很好,但它会加载所有用户,并且该过程将随着数据库的增长而变慢。

+0

'userId'从哪里来? @GabrielAntunes –

+0

这是一个通常包含UID Firebase决定给用户的字符串。他们看起来像这样:_434Pv8IVynZRkV7VX5kFahzDheD5_。您可以通过以下网址检查数据库UID:https://console.firebase.google.com/project/YOUR_PROJECT/authentication/users –

相关问题