【问题标题】:Values from firebase realtime database returns undefinedfirebase 实时数据库中的值返回未定义
【发布时间】:2020-02-12 05:26:56
【问题描述】:

我在从 firebase 获取值时遇到问题。每当我尝试从vehicle1 的孙辈那里获取值时,它都会返回undefined

var get_alert = '';
var get_lstCk = '';

var queryRef = firebase.database().ref('users').child('Fred').child('vehicles').child('vehicle1');
queryRef.on('value', function(querySnapshot) {
      querySnapshot.forEach(function(query) {
            query.forEach(function(snapshot) {

                 var val = snapshot.val();                                //returns 2020-04-07 and 2020-02-07
                 get_alert = val.battery_and_cables_start_nextDate_alert  //returns undefined
                 get_lstCk = val.battery_and_cables_start_last_checked    //returns undefined

             });
      });
});

我的数据库是这样的:

-users
    |
    |
    --Fred
        |
        |
        --vehicles
              |
              |
              --vehicle1
                    |
                    |
                    --alert
                    |    |
                    |    |
                    |    --battery_and_cables_start_nextDate_alert: "2020-04-07"
                    |
                    --last_checked
                         |
                         |
                         --battery_and_cables_start_last_checked: "2020-02-07"

我是否必须分别查询 alertlast_checked

【问题讨论】:

    标签: javascript firebase firebase-realtime-database


    【解决方案1】:

    这两个值都是 alert 和 last_checked 的子值,所以在成功快照中尝试以下代码

    var get_alert = '';
    var get_lstCk = '';
    
    var queryRef = firebase.database().ref('users').child('Fred').child('vehicles');
    queryRef.on('value', function(querySnapshot) {
          querySnapshot.forEach(function(query) {
                query.forEach(function(snapshot) {
    
                     var val = snapshot.val();                                //returns 2020-04-07 and 2020-02-07
                     get_alert = val.battery_and_cables_start_nextDate_alert  //returns undefined
                     get_lstCk = val.battery_and_cables_start_last_checked    //returns undefined
    
                 });
          });
    });
    

    【讨论】:

    • 出现了一个叫TypeError: Cannot read property 'battery_and_cables_start_nextDate_alert' of undefined的错误
    • 对上述答案进行了更改,检查上述代码,我已从查询中删除 .child(vehicle1)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-05
    • 2017-10-29
    • 1970-01-01
    • 2018-07-16
    • 1970-01-01
    • 2022-01-13
    相关资源
    最近更新 更多