我是firebase的新手。我在vue和firebase中制作应用程序。这是我有像这样的快照'用户'。
在文字中:
-L0PZ870WKlPC2BpRxbw
email: "[email protected]"
name: "Carol Howard"
-L0P_xMlFVxOFuQ0yHne
email: "[email protected]"
name: "Alvin Boyd"
我想得到name
我将提供的email
。需要能够在vue应用程序中运行的JavaScript解决方案。像这样的功能会很合适
function(email){
// some code
return name
}
我怎样才能做到这一点?
如果您有用户电子邮件,请在下面查看用户名,如下所示;
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"] }
}
}