Firebase realtime database duda QUERYS

darkblade60

Hola,

estaba aprendiendo a usar la base de datos de Firebase (realtime) en Android Studio (Kotlin)

Siempre he trabajado con SQL y me raya mucho el funcionamiento, he hecho un CRUD sencillo pero me siguen fallando conceptos,

Suelen crear las estructuras así:

User -> RandomID -> email, name, password

Dentro de lo que sería la tabla "User" meten unos Id's random para cada "user" y después las propiedades,

Si yo hago

databaseReference.child("User").addValueEventListener(object : ValueEventListener{}

(implemento las funciones onCancelled, onDataChange)

Recupero todos los children de "User" .

Si quisiera recuperar los users que se llamen PITER podría hacerlo escribiendo yo código y filtrando lo que vea, pero... no hay una forma de que solo me recoja los user "Piter" sin tener yo que trastear con los resultados??

Esto pensando en que yo no conozco la "RANDOM ID" que crea como child dentro del child User,

No se si me explico xddd

darkblade60

WTF...

databaseReference.child("User").orderByChild("name").equalTo("Piter").addValueEventListener(object : ValueEventListener{}

Funciona, pero porque cojones no me obliga a poner el child de User?, para mi lo lógico sería

databaseReference.child("User").child(**RANDOMID**).orderByChild("name").equalTo("Piter").addValueEventListener(object : ValueEventListener{}
1 respuesta
isvidal

#2 Porque supongo que hara un nested search y buscara todo lo que haga matching dentro de la coleccion de User sin tener en cuenta la profundidad en la que se encuentre.

1