如何从 Firebase 实时数据库正确检索值?

乔纳森·多伊

我有以下数据结构:

看这里

name 可以有无限数量的孩子。

和下面的代码:

DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();    
DatabaseReference dirFire = rootRef.child("messages").child("name");

 dirFire.addListenerForSingleValueEvent(new ValueEventListener() {
 @Override
 public void onDataChange(DataSnapshot dataSnapshot) {
    String name = dataSnapshot.getValue(String.class);
    //do what you want with the name
 }

 @Override
 public void onCancelled(DatabaseError databaseError) {

 }
 });

使用上面的代码,我无法检索name. name如果key客户端未知,我如何检索

亚历克斯·马莫

请使用此代码:

DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();    
DatabaseReference messagesRef = rootRef.child("messages");
ValueEventListener eventListener = new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        for (DataSnapshot ds : dataSnapshot.getChildren()) {
            String key = ds.getKey();

            DatabaseReference keyRef = rootRef.child("messages").child(key).child("name");
            ValueEventListener valueEventListener = new ValueEventListener() {
                @Override
                public void onDataChange(DataSnapshot dataSnapshot) {
                    for (DataSnapshot ds1 : dataSnapshot.getChildren()) {
                        String name = ds1.getValue(String.class);
                        Log.d("TAG", name);
                    }
                }

                @Override
                public void onCancelled(DatabaseError databaseError) {}
            };
            keyRef.addListenerForSingleValueEvent(valueEventListener);
        }
    }

    @Override
    public void onCancelled(DatabaseError databaseError) {}
};
messagesRef.addListenerForSingleValueEvent(eventListener);

编辑:这是另一种使用看起来像以前的解决方案的方法。

DatabaseReference rootRef = FirebaseDatabase.getInstance().getReference();    
DatabaseReference messagesRef = rootRef.child("messages");
ValueEventListener eventListener = new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        for (DataSnapshot ds : dataSnapshot.getChildren()) {
            for (DataSnapshot nameSnapshot : ds.child("name").getChildren()) {
                String name = nameSnapshot.getValue(String.class);
                Log.d("TAG", name);
            }
        }
    }

    @Override
    public void onCancelled(DatabaseError databaseError) {}
};
messagesRef.addListenerForSingleValueEvent(eventListener);

输出将是:

John Miche
Joe Mitch
Sabr. A
Luis Jean

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

数据更改后如何从Firebase实时数据库中检索特定数据

来自分类Dev

将值添加到Firebase实时数据库时,如何创建正确更新的表?

来自分类Dev

Firebase,如何限制从特定数据集的检索请求(实时数据库)

来自分类Dev

如何在 Firebase 实时数据库中加载/检索多对多关系

来自分类Dev

如何从Firebase中的实时数据库获取数据

来自分类Dev

如何从Firebase实时数据库读取数据

来自分类Dev

如何从firebase实时数据库中选择数据

来自分类Dev

如何获取firebase实时数据库的数据

来自分类Dev

Firebase实时数据库:如何获取父节点的值

来自分类Dev

如何更新Firebase实时数据库中的现有值?

来自分类Dev

如何检查 firebase 实时数据库中的更改值并使它们显示在 html 表中?

来自分类Dev

如何从Firebase实时数据库中删除?

来自分类Dev

如何从Firebase实时数据库获取最新记录

来自分类Dev

如何更新Firebase实时数据库中的位置?

来自分类Dev

如何设置 Firebase 实时数据库的双重查询?

来自分类Dev

如何将用户电子邮件从 Firebase 身份验证检索到实时数据库

来自分类Dev

首次安装android应用时,如何从Firebase实时数据库获取数据库

来自分类Dev

从 Firebase 实时数据库中检索子数据

来自分类Dev

无法从 Firebase 实时数据库中检索数据

来自分类Dev

Android Firebase - 从 Firebase 实时数据库中检索特定值

来自分类Dev

React + Firebase:如何添加项目以将数据列表到firebase实时数据库中

来自分类Dev

如何使用Firebase实时数据库中的键值或字段键删除所有字段和值?

来自分类Dev

如何安排将在每月的第一天执行并更新 Firebase 实时数据库中的值的任务

来自分类Dev

如何从 Firebase 实时数据库 Java 中的子节点检索数组数据?(Firebase 回收器适配器)

来自分类Dev

Firebase:从实时数据库中检索childByAutoID

来自分类Dev

从 Firebase 实时数据库中检索好友

来自分类Dev

Firebase-如何更新Firebase实时数据库中的对象

来自分类Dev

如何在firebase auth和firebase-实时数据库中获得相同的ID?

来自分类Dev

如何从firebase存储获取imageUrl以存储在firebase实时数据库中?

Related 相关文章

  1. 1

    数据更改后如何从Firebase实时数据库中检索特定数据

  2. 2

    将值添加到Firebase实时数据库时,如何创建正确更新的表?

  3. 3

    Firebase,如何限制从特定数据集的检索请求(实时数据库)

  4. 4

    如何在 Firebase 实时数据库中加载/检索多对多关系

  5. 5

    如何从Firebase中的实时数据库获取数据

  6. 6

    如何从Firebase实时数据库读取数据

  7. 7

    如何从firebase实时数据库中选择数据

  8. 8

    如何获取firebase实时数据库的数据

  9. 9

    Firebase实时数据库:如何获取父节点的值

  10. 10

    如何更新Firebase实时数据库中的现有值?

  11. 11

    如何检查 firebase 实时数据库中的更改值并使它们显示在 html 表中?

  12. 12

    如何从Firebase实时数据库中删除?

  13. 13

    如何从Firebase实时数据库获取最新记录

  14. 14

    如何更新Firebase实时数据库中的位置?

  15. 15

    如何设置 Firebase 实时数据库的双重查询?

  16. 16

    如何将用户电子邮件从 Firebase 身份验证检索到实时数据库

  17. 17

    首次安装android应用时,如何从Firebase实时数据库获取数据库

  18. 18

    从 Firebase 实时数据库中检索子数据

  19. 19

    无法从 Firebase 实时数据库中检索数据

  20. 20

    Android Firebase - 从 Firebase 实时数据库中检索特定值

  21. 21

    React + Firebase:如何添加项目以将数据列表到firebase实时数据库中

  22. 22

    如何使用Firebase实时数据库中的键值或字段键删除所有字段和值?

  23. 23

    如何安排将在每月的第一天执行并更新 Firebase 实时数据库中的值的任务

  24. 24

    如何从 Firebase 实时数据库 Java 中的子节点检索数组数据?(Firebase 回收器适配器)

  25. 25

    Firebase:从实时数据库中检索childByAutoID

  26. 26

    从 Firebase 实时数据库中检索好友

  27. 27

    Firebase-如何更新Firebase实时数据库中的对象

  28. 28

    如何在firebase auth和firebase-实时数据库中获得相同的ID?

  29. 29

    如何从firebase存储获取imageUrl以存储在firebase实时数据库中?

热门标签

归档