In meiner App "React-Native" habe ich ein Array mit bestimmten Benutzern, deren Werte ich von Firebase abrufen möchte. Was ist der effizienteste Weg? Derzeit bin ich Looping das Array durch und machen eine neue Anforderung für jeden (einen entsprechenden Code unten):Wie bekomme ich eine Gruppe von Objekten von Firebase?
const usersRef = new Firebase(`${ config.FIREBASE_ROOT }/users`)
for (var key in usersArray) {
var userRef = usersRef.child(key);
//do stuff here
}
aber ich fühle mich nicht sehr effizient ist und es macht mehrere Anfragen an die Datenbank. Gibt es eine Möglichkeit, das Array zu übergeben und diese Elemente von Firebase zu erhalten, alles in einem Aufruf? Vielen Dank.
Firebase Datenstruktur:
{
"items" : [ {
"description" : "fuzzy socks",
"type" : "toy"
}, {
"description" : "bouncy ball",
"type" : "toy"
}, {
"description" : "scrabble",
"type" : "game"
}, {
"description" : "construction paper",
"type" : "crafts"
} ],
"users" : [ {
"itemList" : [ 1, 2, 3, 4 ],
"description" : "brown",
}, {
"itemList" : [ 5, 6, 7 ],
"description" : "green",
}, {
"itemList" : [ 8, 9, 10 ],
"description" : "blue",
}, {
"itemList" : [ 11, 12, 13 ],
"description" : "yellow",
} ]
}
Vereinfachte Anwendungsfall: In einem Anwendungsfall, ich möchte nur Informationen über 2 der Nutzer erhalten (aus allen Benutzern ich in Firebase gespeichert haben - davon ausgehen, es ist viel mehr als nur die 4 in der Struktur oben). Also, ich habe das Array importantUsers
:
var importantUsers = [0, 3]
Dann möchte ich eine Anfrage senden, um Feuerbasis, dass nur die Datenbank-Abfragen für die mit diesen userID Werte verknüpften Werte (so passieren irgendwie in dem Array Firebase für ein Ergebnis). Rückgabewerte würden wie folgt sein:
0: itemList: [1,2,3,4], description: brown
3: itemList: [11,12,13], description: yellow
Meine Motivation für die Datenbank für mehrere Benutzer auf einmal abzufragen (anstatt eine separate ref für Benutzer erstellen 0 und Benutzer 3) nicht mehr Anrufe auf Firebase gemacht haben. Gibt es einen Weg, dies zu tun?
Können Sie Ihre Firebase-Datenstruktur posten? Bitte als Text posten (keine Bilder). Der Text kann über das Firebase Dashboard-> Export-Button abgerufen werden. – Jay
@Jay gerade mit diesem aktualisiert. – user3802348
Wenn Sie sagen "ein Array von bestimmten Benutzern deren Werte", was definiert sie als ein Benutzer, was macht sie spezifisch und welchen Wert interessieren Sie? In Ihrer Firebase-Struktur gibt es einen Benutzerknoten und dann ein Array von Wörterbüchern, die Schlüsselwertpaare von itemList (das ein Array ist) und Beschreibung enthalten, von denen keine ein Benutzer ist. Fragen Sie, wie Sie auf eine bestimmte Elementliste innerhalb des Arrays im Benutzerknoten zugreifen? – Jay