Las reglas basadas en consultas con auth.uid no funcionan

Tengo la siguiente estructura:

events
-LEe7X118dkcH2JhJRe
    description: "Testdescr"
    eventTasks
    participants
        0zlwpSlCazNGjOyMi95h8awshrG2
            lastLogin: 1528641494535
            userKey: "0zlwpSlCazNGjOyMi95h8awshrG2"
            username: "User1"
        6LnYKxRu2SWUrxwIzId8dDpOrl02
            lastLogin: 152856590172
            userKey: "6LnYKxRu2SWUrxwIzId8dDpOrl02"
            username: "User2"

Quiero consultar todos los eventos en los que participa un usuario (como un filtro). Mi código Java es:

mDatabaseReference = FirebaseDatabase.getInstance().getReference("event");
mDatabaseReference.orderByChild("participants/"+userId+"/userKey").equalTo(userId).addChildEventListener [...]

Esto funciona de maravilla: solo recibo los eventos correctos.

Ahora quiero crear reglas basadas en consultas en el lado del servidor https: //firebase.google.com/docs/database/security/securing-dat). Entonces creé una regla de lectura como:

".read": "query.orderByChild == 'participants/'+auth.uid+'/userKey' && query.equalTo == auth.uid"

Problem: no puedo guardar esa regla. Firebase me da el error: "Expresión inválida ==: el operando derecho debe ser un orden o literal de cadena cuando se compara con un orden". ¿Por qué no es posible usar "query.orderByChild" en combinación con auth.uid?

¿Qué estoy haciendo mal

EDITA: Aquí están mis reglas completas:

{
  "rules": {         
    ".write": true,
     "event":{
       ".read": "query.orderByChild == 'participants/'+auth.uid+'/userKey' && query.equalTo == auth.uid"      
     }
  }
}

Respuestas a la pregunta(0)

Su respuesta a la pregunta