我的FireBase数据库中有以下内容:
Users
-VCVVsqwws_QSds2ADC1
email:
"lo@aol.com"
-VCVxCaQ_dSwWBC21AB4
email:
"asdasasd@aaa.com"
然后是.js
文件中的行:
firebase.initializeApp(config);
var register = firebase.database().ref("Users");
如何在将推送到Users
之前检查用户是否已包含电子邮件?我尝试关注https://gist.github.com/anantn/4323949,但浏览器说无法实例化Firebase
(新的Firebase),即使所有内容都已导入并包含在内。
答案 0 :(得分: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 */
}
});
答案 1 :(得分: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运行良好,但会加载所有用户,并且随着数据库的增长,该进程会变慢。