如何从Firebase数据库获取密钥?

时间:2020-06-11 11:30:28

标签: android firebase-realtime-database

这是我的数据库结构 enter image description here

我想知道如何获取图像中标记的密钥。

我尝试使用此代码来获取密钥。

mDatabase = FirebaseDatabase.getInstance().getReference();
        mDatabase.child("Admin Order")
                .orderByChild("userId")
                .equalTo(userID)
                .addListenerForSingleValueEvent(new ValueEventListener() {
                    @Override
                    public void onDataChange(DataSnapshot dataSnapshot) {
                        for (DataSnapshot childSnapshot : dataSnapshot.getChildren()) {
                            orderId = childSnapshot.getKey();
                        }
                    }

                    @Override
                    public void onCancelled(@NonNull DatabaseError databaseError) {

                    }
                });

但是当我使用调试器检查键的值时,它显示为null enter image description here

如您所见,上面显示的是orderId = null。 有人可以帮忙吗?

1 个答案:

答案 0 :(得分:2)

我复制了您的数据,并尝试删除了.orderByChild("userId") .equalTo(userID),但是我可以获取密钥

mDatabase = FirebaseDatabase.getInstance().getReference();
        mDatabase.child("Admin Order")
                .addListenerForSingleValueEvent(new ValueEventListener() {
                    @Override
                    public void onDataChange(DataSnapshot dataSnapshot) {
                        for (DataSnapshot childSnapshot : dataSnapshot.getChildren()) {
                            orderId = childSnapshot.getKey();
                            // you can order by here once u have keys
                        }
                    }

                    @Override
                    public void onCancelled(@NonNull DatabaseError databaseError) {

                    }
                });