Ich bastle mit Firebase und bin neugierig auf die Datenstruktur. Durch das Durchsuchen meiner Datenbank kann Firebase die Struktur und Daten in meiner Datenbank ändern. Aber es scheint, dass Firebase nur Objekte (und Wörterbücher für Listen) unterstützt.
Ich möchte wissen, ob Arrays unterstützt werden. Ich würde auch gerne wissen, ob Dictionary-Elemente mit Ganzzahlen benannt werden können - die Firebase-Schnittstelle fügt nur Strings als Namen ein, was mich besorgt über die Bestellung von Datensätzen macht.
Hier ist ein Beispiel für json, das über die Firebase-Schnittstelle erstellt wurde:
%Vor%Offensichtlich möchte ich für meine Listen, dass die Wörterbuch-Elementnamen ganze Zahlen sind, damit ich sicherstellen kann, dass die Sortierung korrekt ist.
Sie können Arrays in Firebase speichern. Zum Beispiel:
%Vor%Javascript Arrays sind im Wesentlichen nur Objekte mit numerischen Schlüsseln. Beim Abrufen von Daten erkennen wir automatisch, wenn ein Firebase-Objekt nur numerische Schlüssel enthält, und geben in diesem Fall ein Array zurück.
Beachten Sie, dass zum Speichern einer Liste von Daten, an die sich viele Personen anhängen können, ein Array keine gute Wahl ist, da mehrere Personen, die auf denselben Index im Array schreiben, Konflikte verursachen können. Stattdessen haben wir eine "Push" -Funktion, die eine chronologisch geordnete eindeutige ID für Ihre Daten erstellt.
Wenn Sie das Array zum Bestellen von Daten verwenden möchten, können Sie dies auch mit unseren Prioritäten tun. Siehe die Dokumente .
Die Firebase-Dokumente haben einen ziemlich guten Abschnitt darüber, wie Sie Ihre Daten bestellen: Bestelldaten .
Genau wie JSON-Felder können Firebase-Felder nur mit Strings benannt werden. Es klingt wie das, wonach Sie suchen, ist setWithPriority()
, das sortierbare Prioritätsdaten an Ihre Felder anfügt, oder push()
, was garantiert, dass Ihre Felder eindeutige, chronologisch geordnete Namen erhalten. (Mehr zu Listen und push()
hier .)
Sie können auch push()
oder set()
Arrays verwenden. Zum Beispiel
führt zu einem Baum, wie Sie es erwarten würden. MyUser erhält ein Kind mit einem eindeutigen Namen, das die Kinder "0":"cakes"
und "1":"bulldozers"
hat.