Filtrar productos en varias propiedades secundarias en Firebase

Recientemente pregunté cómo filtrar productos en función de su propiedad secundaria (ver:Filtrar productos basados en el elemento secundario secundario en Firebase)

Como resumen, mi estructura se ve de la siguiente manera:

products/
     product1
        /author: 12345
        /title: "Awesome"
        /category: "catA"
        /description: "more awesome"
     product2
        /author: 67890
        /title: "Other"
        /category: "catB"
        /description: "otherawesome"
     product3
        /author: 12345
        /title: "Billy"
        /category: "catB"
        /description: "otherawesome"

Y para filtrar todos los productos con autor12345 simplemente podemos usar:

ref.child("products").orderByChild('author').equalTo(12345)...

Sin embargo, ¿qué hacer cuando tengo múltiples declaraciones AND o múltiples declaraciones OR?

Entonces, ¿qué pasa si quiero filtrar:

todos los productos con autor12345 Y categoríacatA (devolucionesproduct1)

todos los productos con autor12345 O autor 67890 (devuelveproduct1 yproduct3)

Para la primera parte, probé:

ref.child("products").orderByChild('author').equalTo(12345).orderByChild('category').equalTo('catA')...

pero eso no funcionó (arroja errorYou can't combine multiple orderBy calls)

Ver también:https://www.firebase.com/docs/web/guide/retrieving-data.html#section-queries

Respuestas a la pregunta(1)

Su respuesta a la pregunta