我想从firebase对象获取数据如何?

时间:2016-07-12 14:55:19

标签: javascript firebase firebase-realtime-database

好的,我正在使用firebase我尝试了一些来自docs的代码,这些代码向我展示了如何从我的数据库中检索数据。我正在使用Web Docs 这是我的数据库的样子

1001

从上面开始,我使用

获取对象
 MyApp-446464
 users
    foo
     -foobar
       first_name:"foo"
       last_name:"bar"

    bar
     -barfoo
       first_name:"bar"
       last_name:"foo"

但问题是,如果我使用

,我似乎无法获得价值
firebase.database().ref('users/').once('value').then(function(snapshot) {
   var username = snapshot.val();
});

它给我的未定义可以有人协助我做错了什么

2 个答案:

答案 0 :(得分:5)

您的代码要求提供整个用户列表。所以它必须在回调中处理该列表:

firebase.database().ref('users/').once('value').then(function(snapshot) {
    snapshot.forEach(function(userSnapshot) {
        var username = userSnapshot.val();
        console.log(username.first_name);
    });
});

答案 1 :(得分:1)

这不可能有/users/uid/id2

确保使用ref.child('users').child(uid).set(userDataObject)保存用户数据。

然后,您将能够使用orderByChildequalTo检索数据。您可以使用this question作为参考来实现它。

var ref =  firebase.database().ref();
ref.child('users').orderByChild('first_name').equalTo(username.first_name).once('value' ...