Firebase查询快照未定义

时间:2016-12-12 05:13:57

标签: node.js asynchronous firebase promise firebase-realtime-database

我正在使用Firebase查询从我的实时数据库中获取数据。 但快照未定义

在变大之前,一切都运行良好。 这是我的代码:

db.ref('notregis').orderByChild("has_media").equalTo(null).limitToLast(1)
        .once("value", function (snapshot) {
            var key = snapshot.key;
            var data = snapshot.val()[key];
            console.log(key, data);
            console.log('Getting Feed From', key, data.username, index);
            getFeed(key);
        });

1 个答案:

答案 0 :(得分:3)

在您的代码段中,快照的key将为notregis,因此snapshot.val()[key]可能未定义。

相反,您可以使用快照的forEach,它将枚举子快照(其中应该最多只有一个):

db.ref('notregis')
    .orderByChild("has_media")
    .equalTo(null)
    .limitToLast(1)
    .once("value", function (snapshot) {
        snapshot.forEach(function (childSnapshot) {
            var key = childSnapshot.key;
            var data = childSnapshot.val();
            console.log(key, data);
            console.log('Getting Feed From', key, data.username, index);
            getFeed(key);
        });
    });