Comprobando si existe un valor particular en la base de datos de Firebase
Estoy haciendo una aplicación de Android usandoFirebase
base de datos en tiempo real. Cuando un nuevo usuario se registra en mi aplicación, los datos de ese usuario se guardan en la base de datos de Firebase.
Un usuario debe proporcionar los siguientes detalles para registrarse:
Nombre completoEmailNombre de usuarioContraseñaEstructura de base de datosCada vez que un nuevo usuario intenta registrarse, tengo que asegurarme de que el nombre de usuario de cada usuario sea único, así que verifico la base de datos siusername
ingresado por el usuario ya existe en la base de datos o no.
Para hacer esto, escribí el siguiente método:
private boolean usernameExists(String username) {
DatabaseReference fdbRefer = FirebaseDatabase.getInstance().getReference("Users/"+username);
return (fdbRefer != null);
}
Mi lógica detrás de este método es que sigetReference
El método no puede encontrar referencia a la ruta especificada, devolverá nulo para que pueda devolver sifdbRefer
esnull
o no. SifdbRefer
esnull
entonces significa queusername
no existe en la base de datos.
El problema con este método es que siempre regresatrue
si el ingresadousername
existe en la base de datos o no. Lo que me llevó a creer quefdbRefer
es nuncanull
.
Esto me lleva a mi pregunta ...
PreguntaQue hacegetReference
método de retorno cuando no puede encontrar la ruta especificada en elfirebase
base de datos y cuál es la forma correcta de verificar si elusername
ya existe en la base de datos o no?