json - guardar - indexon firebase
Usando.indexOn con claves anidadas en Firebase (2)
Puede consultar e indexar arbitrariamente en profundidad ahora.
{
"rules": {
"$dinosaur": {
".indexOn": ["stats/height"]
}
}
}
y consulta sobre valores anidados:
.orderByChild(''stats/height'')
Tengo un montón de claves que quiero indexar usando .indexOn
Supongamos que mis datos se parecen a los siguientes. Quiero poder usar .orderByChild("height")
.
{
"lambeosaurus": {
"stats": {
"height" : 2.1,
"length" : 12.5,
"weight": 5000
}
},
"stegosaurus": {
"stats": {
"height" : 4,
"length" : 9,
"weight" : 2500
}
}
}
¿Cuán herida he especificado la regla para la height
indexación que es un elemento secundario de las stats
? ¿Tengo que reestructurar o aplanar mis datos?
Actualización 17/12/2015: Firebase ahora es compatible con la indexación profunda, por lo tanto, consulte la respuesta de Tom.
Puede jerarquizar arbitrariamente las reglas de indexación en su árbol de datos, aunque solo puede consultar los atributos de una lista de elementos a la vez, no de forma arbitraria. Aquí hay algunas reglas de ejemplo para indexar la altura:
{
"rules": {
"$dinosaur": {
"stats": {
".indexOn": ["height"]
}
}
}
}