Estoy tratando de verificar si ya existe un nombre en una base de datos en tiempo real de Firebase que está estructurada de la siguiente manera: 
Aquí está mi código:
const players = Firebase.database().ref("players"); function nameCheck() { console.log(name); players .orderByChild('settlement_name') .equalTo(name) .once('value') .then(snapshot => { if(snapshot.exists()){ let playerData = snapshot.val(); console.log(playerData) setError('Settlement name already exists') return playerData } else { console.log('Settlement name not found'); } }) }¿Alguien puede decirme por qué esta función no identifica correctamente cuando existe un nombre? Estoy registrando el nombre al comienzo de la función y coincide con los de la base de datos, pero solo devolverá que no se encuentra el nombre.
Gracias por su amabilidad. 🙂
Debe usar la ruta secundaria anidada , como se explica en el documento .
players .orderByChild('settlement/settlement_name') ...PD: En caso de que verifique si existe un nombre para usar este nombre para crear un nuevo nodo de base de datos (si no existe), debe usar una Transacción .