Meine .indexOn-Regel, die zu "Sicherheit und Regeln" hinzugefügt wurde, wird nicht berücksichtigt
Ich versuche, benutzerdefinierte Indizes für meine Firebase-Daten einzurichten, um sie nach bestimmten Feldern zu sortieren.
Hier sind meine Daten:
BEKOMMENhttps: //testindexon.firebaseio.com/.jso
{ "key1": { "age": 80, "name": "zabc" }, "key2": { "age": 90, "name": "defg" }, "key3": { "age": 10, "name": "hijk" } }
Hier sind meine Sicherheitsregeln:
{ "rules": { ".read": true, ".write": true, "testindexon": { ".indexOn": "age" } } }
Wenn ich versuche, nach der indizierten Eigenschaft "age" zu bestellen, erhalte ich eine Fehlermeldung:
BEKOMMENhttps: //testindexon.firebaseio.com/.json? orderBy ="Alter"
Error 400 (Ungültige Anfrage)
{ "error": "Index not defined" }
Ich kann den Fehler 400 umgehen, indem ich meine Sicherheitsregeln wie folgt umschreibe:
{ "rules": { ".read": true, ".write": true, ".indexOn": ["age", "name"] } }
Aber wenn ich dann versuche, nach einer der Eigenschaften zu bestellen, passiert nichts Besonderes (Ergebnisse werden nicht sortiert):
GET .... firebaseio.com/.json?orderBy="age"
{ "key1": { "age": 80, "name": "zabc" }, "key2": { "age": 90, "name": "defg" }, "key3": { "age": 10, "name": "hijk" } }
Bin ich etwas vermisst? Ich würde mich über jede Hilfe freuen.
Beste
State Variable