Ich habe eine Struktur von Objekten in Firebase wie folgt aussehen:von Kind Kind Abfragen
-KBP27k4iOTT2m873xSE
categories
Geography: true
Oceania: true
correctanswer: "Yaren (de facto)"
languages: "English"
question: "Nauru"
questiontype: "Text"
wronganswer1: "Majuro"
wronganswer2: "Mata-Utu"
wronganswer3: "Suva"
Ich versuche Objekte nach Kategorien zu finden, so zum Beispiel ich alle Objekte möchten, welche die Kategorie angezeigt Stellen Sie auf "Ozeanien" ein.
Ich benutze Swift und ich kann nicht wirklich scheinen, das Konzept zu verstehen, wie man die Daten abfragt.
Meine Anfrage rechts sieht nun wie folgt aus:
ref.queryEqualToValue("", childKey: "categories").queryOrderedByChild("Oceania")
Wo ref
den Verweis auf Firebase in diesem speziellen Weg.
Wie auch immer ich es versucht habe, ich bekomme immer ALLE Daten zurück, anstatt nur die Objekte der Kategorie Ozeanien.
Meine Daten werden wie folgt strukturiert: baseurl/questions/
Wie Sie in dem Objekt Beispiel einer siehe Frage hinzugefügt mehr Kategorien haben kann, so von dem, was ich verstanden habe ist es am besten einen Verweis auf die Kategorien haben in Ihrem Objekte.
Ich konnte meine Struktur baseurl/questions/oceania/uniqueids/
, ändern, aber dann würde ich mehrere Eintragungen, die gleichen Daten, aber mit unterschiedlichen uniqueid
, weil die Frage beide wäre unter den Kategorien oceania
und geography
Geschenk.
durch die Struktur mit baseurl/questions/oceania/
und baseurl/questions/geography
Ich könnte auch nur hinzufügen unique ids
unter oceania
und geography
, die stattdessen zu einem bestimmten unique id
innerhalb baseurl/questions/uniqueids
Punkte, aber das würde bedeuten, ich muss den Überblick über viele Referenzen halten würde. Eine Beziehungstabelle sozusagen erstellen.
Ich frage mich, ob das der richtige Weg ist oder? Sollte ich meine Daten umstrukturieren? Die App ist noch nicht in Produktion, daher ist es möglich, die Daten komplett zu restrukturieren, ohne größere Konsequenzen zu haben, außer dass ich meinen Code neu schreiben müsste, der Daten an Firebase weiterleitet.
Lassen Sie mich wissen, wenn dies alles Sinn und sorry für die Wand des Textes nicht :-) ich diese Arbeit sollte denken
Das ist ziemlich einfach ist mit einer [Firebase Tief Abfrage] (https://www.firebase.com/blog/2015-09-24-atomic-writes-and-more.html) – Jay