Android Studio firebase获取具有特定值的子项的密钥

时间:2018-03-29 23:15:59

标签: android firebase firebase-realtime-database

我正在Android Studio中开发应用程序,我正在使用FireBase来存储数据。假设我有一个有多个孩子的节点,我想获得具有特定值的孩子的密钥。例如;

enter image description here

我想阅读节点语言',这是有价值的孩子的关键词'英语'所以我得到了#eng;#。请注意,我不知道密钥是' eng'!

有人知道如何在不导入所有孩子的情况下实现这一目标吗?

1 个答案:

答案 0 :(得分:2)

尝试这样的事情:

DatabaseReference ref = FirebaseDatabase.getInstance().getReference().child("languages");

        ref.orderByValue().equalTo("English").addListenerForSingleValueEvent(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                for (DataSnapshot snap : dataSnapshot.getChildren()) {
                    String value = snap.getValue(String.class);
                    String key = snap.getKey();
                }
            }

            @Override
            public void onCancelled(DatabaseError databaseError) {

            }
        });