检查Firebase实时数据库中的数据不起作用

时间:2020-05-04 10:26:15

标签: java android database firebase firebase-realtime-database

我正在尝试检查频段代码是否已经存在,但是它不起作用。存在永远返回假。

这是代码:

databaseReference.child("Band_Codes").addListenerForSingleValueEvent(new ValueEventListener() {
                    @Override
                    public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
                        for(DataSnapshot data: dataSnapshot.getChildren()){
                            if(data.child(codeCheck).exists()){
                                //do something
                            }
                            else{
                                //do something
                            }
                        }
                    }
                    @Override
                    public void onCancelled(@NonNull DatabaseError databaseError) {
                    }
                });

enter image description here

System.out.prinln(data.child(codeCheck)) returns: DataSnapshot { key = kN9VIY6AC3Zx5FP, value = null }
数据库中还存在

kN9VIY6AC3Zx5FP。

图像仅是示例。

1 个答案:

答案 0 :(得分:0)

您正在传递codeCheck作为密钥。但这不是关键,而是价值。您应该像"code"一样传递data.child("code"),并检查其值是否等于codeCheck