2016-08-06 16 views
0

Ich habe auf allen anderen Posts bemerkt, dass jeder Knoten/Schlüssel mit Kindern in der Datenbank in Anführungszeichen gespeichert wurde und meins nicht.Wie strukturiere ich meine Geofire-Posts in meiner Firebase-Datenbank?

Mine

Locations{ 
    indexOn: "g" 
} 

andere/was nehme ich es

Locations{ 
     ".indexOn": "g" 
    } 

sollte ich nichts dabei gedacht, bis ich auf einem ähnlichen Fehler wie this mit dem“.indexOn kam ". Ich habe versucht, „.indexOn“ aber ich erhielt den Fehler fügte hinzu, dass keine Taste das Symbol . (zusammen mit einigen anderen Zeichen, die nicht erlaubt sind) haben kann, so dass ich es in ohne . wie so:

Locations{ (specific id){ g: "345jh3i5jh" l{ 0: 37 1: -120 } indexOn: "g" user: "0987435098723098Gjhf90" } }

So scheint es zu funktionieren, wie die observeEventType gibt das korrekte Ergebnis manchmal zurück, aber es gibt mir immer noch den Fehler, dass ich ".IndexOn" in der Datenbank setzen muss. Wie mache ich das?

Jede Hilfe und explizite Beispiele würden geschätzt werden, da es wahrscheinlich mehr Probleme mit allem gibt, als ich angesprochen habe. Tu dies schnell und danke für das Lesen!

+1

Bitte beschränken Sie sich auf eine einzelne Frage pro Post und geben Sie den minimalen Code an, der das Problem reproduziert, um das es in der Frage geht. Für Ihre erste Frage habe ich jetzt Probleme zu verstehen, was das Problem ist. –

+0

Ich habe meine Frage nur an das zweite Problem gerichtet, da ich das erste lösen konnte. Danke, dass du es bei @FrankvanPuffelen ausprobiert hast. Ich sehe, dass du der Guru auf der Firebase bei Stack – KellysOnTop23

+0

wirst. Vielen Dank!!! – KellysOnTop23

Antwort

0

Sie scheinen zu versuchen, Ihrer Datenbank Indexdefinitionen hinzuzufügen. Das ist in der Tat eine gute Möglichkeit, um sicherzustellen, dass der Server die Daten vor bestellen und filtern kann und die Ergebnisse an Ihre App zurückgibt.

Indizes werden durch Hinzufügen zu Ihren Firebase-Datenbankregeln in der Firebase-Konsole> Datenbank> Regeln definiert. Versuchen Sie nicht, sie zu Ihrer eigentlichen Datenbank hinzuzufügen, da:

  • Sie nicht in der Lage sein, sie zu retten, da sie ein . in ihrem Schlüssel haben, die ein unzulässiges Zeichen in der Datenbank
  • ihnen das Hinzufügen wird nicht helfen, da nur der Datenbankserver für .indexOn Definitionen in der Datenbank Regeln sucht

Siehe Firebase documentation on adding indexes für mehr.