Firebase para consultas complejas. A no ir?

Me mudé de parse-server a firebase para mi nuevo proyecto, pero llegué a un punto en el proyecto donde comencé a pensar que era una mala idea.

Básicamente, estoy creando una aplicación donde la gente puede publicar información sobre conciertos que tienen lugar en su ciudad.

Mi primer desafío fue filtrar los eventos, por lo que un usuario solo recibe eventos en su propia ciudad. Hice esto estructurando los datos después de las ciudades:

{
    concerts: {
        "New york": {
            ...,
            ...
        }, 
        "Chicago": {
            ...,
            ...
        }
    }
}

Luego creo que necesito otro filtro para el tipo de concierto, por ejemplo, rock, pop, etc. Así que pensé que hice otra reestructuración. Sin embargo, probablemente deba haber entre 5 y 10 filtros más, y será muy difícil estructurar la base de datos de una buena manera.

Pensé sobre múltiples consultas, pero esto no estaba permitido:

firebase.database().ref("concerts")
.orderByChild("type").equalTo("rock")
.orderByChild("length").equalTo("2")
.orderByChild("artist").equalTo("beatles")

Pensé en buscar todo desde el servidor y luego filtre el resultado en el cliente. Sin embargo, veo dos problemas con esto:

Es posible que se descarguen muchos datos innecesarios.Algunos conciertos se bloquearán solo para ciertos usuarios (por ejemplo, usuarios que hayan asistido al menos a otros 10 conciertos), y puede haber un aspecto de seguridad al llevar estos conciertos a casa para que el usuario no pueda verlos.

Pensé en combinar filtros para crear claves de consulta, como estaesta, pero con más de 10 filtros, se volverá complejo.

¿Hay alguna solución a esto o debería olvidar Firebase para este caso de uso?

Gracias por adelantado

Respuestas a la pregunta(1)

Su respuesta a la pregunta