我是firebase的新手。我在vue和firebase中制作应用程序。这是我有ref'用户'喜欢这个快照。
在文字中:
-L0PZ870WKlPC2BpRxbw
email: "rebowit@gmail.com"
name: "Carol Howard"
-L0P_xMlFVxOFuQ0yHne
email: "dekyl@hotmail.com"
name: "Alvin Boyd"
我希望name
我将提供email
。需要能够在vue应用程序中运行的JavaScript解决方案。像这样的功能将是适当的
function(email){
// some code
return name
}
我怎么能做到这一点?
答案 0 :(得分:2)
如果您有用户电子邮件,请在下面查看用户名,如下所示;
getNameByEmail(email) {
var db = firebase.database();
var ref = db.ref('users').orderByChild('email').equalTo(email);
ref.once('value', snapshot => {
if (snapshot.exists()) {
var name = snapshot.val();
name = Object.values(name);
name = name[0].name;
console.log('User email : ' + email + ' User name: '+ name );
} else {
console.log('There is no user who has email like '+ email)
}
})
}
如果您经常使用电子邮件搜索用户,那么最好定义索引以获得更好的性能设置数据库规则,例如;
{
"rules": {
".read": true,
".write": "auth != null",
"users": { ".indexOn": ["email"] }
}
}