按firebase中的特定值检索数据

时间:2017-12-15 15:07:28

标签: javascript firebase firebase-realtime-database vue.js

我是firebase的新手。我在vue和firebase中制作应用程序。这是我有ref'用户'喜欢这个快照。

enter image description here

在文字中:

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

1 个答案:

答案 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"] }
  }
}