【问题标题】:Get unique id of specific element in Firebase获取 Firebase 中特定元素的唯一 ID
【发布时间】:2016-12-23 12:28:46
【问题描述】:

我的 Firebase 数据库结构如下:

{
  "userProfile" : {
     "X0u2SEFfYEeVmdw4TXl58ou2eYy1" : {
        "email" : "jane@yahoo.com",
         "name" : "Jane"
      },
      "cliv7hQ4FsWKTtYksPDXcdDafdi2" : {
         "email" : "doe@gmail.com",
          "name" : "John Doe",
       }
    }
}

我正在尝试获取与查询条件匹配的元素的唯一 ID,例如电子邮件等于 doe@gmail.com 的元素的键。

我正在这样做:

firebase.database().ref('/userProfile').orderByChild('email').equalTo(email).once( 'value', data => {
    let user = data.val();
});

这将返回包含该电子邮件的整个对象,但我只想要它的唯一 ID(在本例中为“cliv7hQ4FsWKTtYksPDXcdDafdi2”)。实现这一目标的最佳方法是什么?

【问题讨论】:

    标签: javascript firebase firebase-realtime-database


    【解决方案1】:

    当您对 Firebase 数据库执行查询时,可能会有多个结果。所以快照包含这些结果的列表。即使只有一个结果,快照也会包含一个结果列表。

    所以:

    var query = firebase.database().ref('/userProfile').orderByChild('email').equalTo(email);
    query.once( 'value', data => {
        data.forEach(userSnapshot => {
            let user = userSnapshot.val();
            let key = userSnapshot.key;
        });
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-07-31
      • 2023-04-06
      • 1970-01-01
      • 1970-01-01
      • 2013-08-04
      • 1970-01-01
      • 2017-04-22
      • 2015-11-28
      相关资源
      最近更新 更多