Búsqueda de Firebase por valor de niño

Tengo la siguiente estructura en mi database de Firebase: base de datos de firebase

Me gustaría search un usuario por nombre, apellido o correo electrónico, pero como tengo la key de usuario en el nivel superior, no sé cómo puedo lograrlo. Estoy haciendo una session de administrador para que no tenga acceso a la key de usuario.

Yo he tratado:

let usersRef = firebase.database().ref('users'); usersRef.orderByValue().on("value", function(snapshot) { console.log(snapshot.val()); snapshot.forEach(function(data) { console.log(data.key); }); }); 

Pero trae a todos los usuarios a la database. ¿Algunas ideas?

Puede usar equalTo() esta manera para encontrar cualquier niño por name :

 ref.child('users').orderByChild('name').equalTo('John Doe').on("value", function(snapshot) { console.log(snapshot.val()); snapshot.forEach(function(data) { console.log(data.key); }); }); 

Puedes encontrar toda la documentation aquí