按firebase中的特定值检索数据

问题描述 投票:1回答:1

我是firebase的新手。我在vue和firebase中制作应用程序。这是我有像这样的快照'用户'。

enter image description here

在文字中:

-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 } 我怎样才能做到这一点?

javascript firebase firebase-realtime-database vue.js
1个回答
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"] }
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.