检查数据库是否有子项

时间:2017-01-26 06:18:36

标签: android firebase firebase-realtime-database

如何检查数据库中是否有像firebase这样的子项:

 if(UsuariosRef.child(User.getUid()) == null)

我尝试做的是检查孩子是否存在于数据库中,这会在孩子不存在时给我错误。

非常感谢

1 个答案:

答案 0 :(得分:0)

从Firebase读取数据是通过将侦听器添加到数据库的相关节点并接收DataSnapshots来完成的。通常是一个持续的监听器,可以对任何更改作出反应,但您也可以添加一个只进行一次读取的监听器。

在这种情况下,如果您想进行一次性检查以查看特定节点是否存在,您可以使用:

usuariosRef.child(user.getUid()).addListenerForSingleValueEvent(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        if(dataSnapshot.exists()){
            // node exists
        } else {
            // node doesn't exist
        }
    }

    @Override
    public void onCancelled(DatabaseError databaseError) {

    }
});