ios - descripcion - Reglas de seguridad de Firebase:.indexOn ID únicos
reglas firebase (1)
Tengo esta estructura:
"post": {
"groupMember": {
"-KHFHEHFWDB1213": "true",
"-KSJHDDJISIS011": "true",
"-KJSIO19229129k": "true"
}
}
Quiero .indexOn los identificadores groupMember únicos generados automáticamente.
Intenté hacer esto:
"post": {
".indexOn": "groupMember"
...
}
Pero sigo recibiendo este error:
Considere agregar ".indexOn": "groupMember / -KHFHEHFWDB1213" en / post
Entonces, ¿cómo agrego un .indexOn en una identificación única?
ACTUALIZAR:
Esta es la consulta que uso (en Swift):
postRef.queryOrderedByChild("groupMember//(uid)").queryEqualToValue(true).observeEventType(.Value, ... )
Para consultar si una de las claves dadas tiene valor "true"
(tenga en cuenta que su estructura de datos es una cadena, no un booleano, ¡algo a lo que hay que prestarle atención!), Querrá crear reglas de seguridad como estas:
{
"post": {
"groupMember": {
"$memberId": {".indexOn": ".value"}
}
}
}
Y luego use queryOrderedByValue("true")
en la ruta /post/groupMember
. Es importante tener en cuenta $memberId
en las reglas, que declara una clave comodín que representa los identificadores autogenerados, y .value
, que indica que, en lugar de indexar en una propiedad secundaria (si su estructura tenía otra capa de anidación), desea indexar en el valor de nodo de hoja inmediato.